Benutzer:Revolus/monobook.js/safe-rollback.js

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Strg+F5
/* <nowiki> */

$(function() {
	var rollbackPattern = /(?:^|\s+)mw-rollback-link(?:$|\s+)/;
	var spanPattern = /^SPAN$/i;
	for(var i = 0; i < document.links.length; ++i) {
		var link = document.links[i];
		if(!link.parentNode) {
			continue;
		}
		if(spanPattern.test(link.parentNode.nodeName)) {
			if(rollbackPattern.test(link.parentNode.className)) {
				var href = link.getAttribute("href");
				link.setAttribute("href", "#");
				link.onclick = (function(href) {
					return function() {
						var summary = window.prompt(
							"Änderung wirklich zurücksetzen?\n" +
							"Zum Abbrechen, «Abbrechen» klicken.\n\nKommentar:\n" + 
							"(b=q=WP:Q; r=WP:RK; ?=g=Begründen; w=WP:WEB; t=v=Test/Vandalismus)"
						);
						if(typeof(summary) === "string") {
							var h = href;
							switch(summary) {
								case("b"):
								case("q"): summary = "Revert: bitte [[WP:Q|belegen]], s.a. [[WP:REF]]"; break;
								case("r"): summary = "Revert: bitte [[WP:RK|Relevanz]] darlegen"; break;
								case("?"):
								case("g"): summary = "Revert: Änderung bitte in der Zusammenfassungszeile begründen"; break;
								case("w"): summary = "Revert: Diese Änderung entspricht nicht [[WP:WEB]]"; break;
								case("t"):
								case("v"): summary = "Revert: Offensichtlich ein Test oder Versehen"; break;
							}
							if(summary)  {
								h += "&summary=" + encodeURIComponent(summary);
							}
							if(window.confirm("Ausführen? \n" + h) === true) {
								document.location.href = h;
							}
						}
						return false;
					};
				})(href);
			}
		}
	}
});

/* </nowiki> */