Użytkownik:SH3VEK/nplus-linki.js

Z Nonsensopedii, polskiej encyklopedii humoru
< Użytkownik:SH3VEK
Wersja z dnia 19:35, 14 kwi 2019 autorstwa SH3VEK (dyskusja • edycje) (JS)
(różn.) ← przejdź do poprzedniej wersji • przejdź do aktualnej wersji (różn.) • przejdź do następnej wersji → (różn.)

Uwaga: aby zobaczyć zmiany po zapisaniu, może zajść potrzeba wyczyszczenia pamięci podręcznej przeglądarki.

  • Firefox / Safari: Przytrzymaj Shift podczas klikania Odśwież bieżącą stronę, lub naciśnij klawisze Ctrl+F5 lub Ctrl+R (⌘-R na komputerze Mac)
  • Google Chrome: Naciśnij Ctrl-Shift-R (⌘-Shift-R na komputerze Mac)
  • Internet Explorer: Przytrzymaj Ctrl jednocześnie klikając Odśwież lub naciśnij klawisze Ctrl+F5
  • Konqueror: Kliknij polecenie Odśwież lub naciśnij klawisz F5
  • Opera: Wyczyść pamięć podręczną w Narzędzia → Preferencje
// Linki do edycji i historii strony na OZ
// Wystarczy przetrzymać kliknięcie myszką na 1/4 sekundy, aby linki się pojawiły.
mw.loader.using(["jquery", "oojs-ui"], function() {
	var to = 250,
		uTimer = 0,
		linkTarget = "a.mw-changeslist-title";
	var btnEdit = new OO.ui.ButtonWidget({icon: "edit", title: "Edytuj"}),
		btnHistory = new OO.ui.ButtonWidget({icon: "menu", title: "Historia strony"});
	var btnGroup = new OO.ui.ButtonGroupWidget({items: [btnEdit, btnHistory]});
	var pu = new OO.ui.PopupWidget({
			$content: btnGroup.$element,
			padded: false,
			align: "forwards",
			position: "before",
			autoClose: true,
			width: 100
		}),
		updatePopup = function(e) {
			uTimer = 0;
			pu.toggle(false);
			pu.$floatableContainer = $(e.target);
			btnEdit.setHref(mw.util.getUrl(e.target.title, {action: "edit"}));
			btnHistory.setHref(mw.util.getUrl(e.target.title, {action: "history"}));
			pu.computePosition();
			pu.toggle(true);
		};
	
	$(document.body).append(pu.$element);
	mw.util.$content
		.on("mousedown", linkTarget, function(e) {uTimer = setTimeout(function() {updatePopup(e)}, to)})
		.on("click", linkTarget, function(e) {
			if (uTimer === 0) {
				e.preventDefault();
				pu.toggle(true);
				return;
			}
			clearTimeout(uTimer);
			uTimer = 0;
		});
});