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
// CHECK THAT I'VE REMEMBERED TO SIGN TALK PAGES AND IF NOT REMEMBER ME:
// original Script [[User:Olliminatore/signing.js]]
// modified since 24.07.2009 by [[User:Anka Friedrich]]
// current version 5.09.2014
// Der Code liefert viele Warnungen, bei mir funktioniert er aber (noch).
//<pre><nowiki>

String.prototype.trim = function(){return this.replace(/^\s*|\s*$/g,"")};

if (typeof usersignature == 'undefined') usersignature = ' --\~\~\~\~\n';

if (typeof regpages == 'undefined') { // list of all none talk pages
	var regpages = [
        ':Administratoren/Notizen',
	':Adminkandidaturen',
        ':Auskunft',
	':Bilderwünsche',
	':Fragen_zur_Wikipedia',
	':Löschkandidaten',
	':Meinungsbilder',
 	':Qualitätssicherung',
	':Review',
        ':Redaktion_',
	':Verbesserungsvorschläge'
 	];
}

if (typeof warnonce == 'undefined') { //Warnung nur einmal ausgeben
       var warnonce = false;
} 

	// regarded pages type encoded
if (wgCanonicalNamespace.match(/talk$|Diskussion$/i)) var regpages = "";
for (p in regpages) if (wgPageName.indexOf(regpages[p]) != -1){regpages=false; break}

/* add/removeEvent Original idea by John Resig
 Tweaked by Scott Andrew LePera, Dean Edwards and Peter-Paul Koch
 Fixed for IE by Tino Zijdel (crisp) @date 2005-10 */
function addEvent(obj,type,fn){if(obj.addEventListener){obj.addEventListener(type,fn,false)}else if(obj.attachEvent){var eProp=type+fn;obj["e"+eProp]=fn;obj[eProp]=function(){obj["e"+eProp](window.event)};obj.attachEvent("on"+type,obj[eProp])}else{obj['on'+type]=fn}};
function removeEvent(obj,type,fn){if(obj.removeEventListener){obj.removeEventListener(type,fn,false)}else if(obj.detachEvent){var eProp=type+fn;obj.detachEvent("on"+type,obj[eProp]);obj['e'+eProp]=null;obj[eProp]=null}else{obj['on'+type]=null}};

if (!regpages) 
$(function(){
	if (!(window.editform = document.forms['editform'])) return;
	// Add a new checkbox to the Wiki editOptions.
	sigBox = document.createElement("input");
	sigBox.setAttribute('type','checkbox');
	sigBox.setAttribute('name','wpSigning');
	sigBox.setAttribute('id','wpSigning');
	sigBox.setAttribute('checked','checked');
	sigBox.defaultChecked=true;
	neuB = document.createElement("label");
	neuB.appendChild(sigBox);
	neuB.appendChild(document.createTextNode("Signaturwarnung"));
	neuB.setAttribute('for','wpSigning');
	neuB.setAttribute('title','Bei fehlender Signatur warnen.');
	
	function setSigBox() { // switch enable box
		if (editform.wpMinoredit.checked) sigBox.setAttribute('disabled','disabled');
		else sigBox.removeAttribute('disabled');
	};

	var txtarea=editform.elements['wpTextbox1'];
	var txtOld=txtarea.value.trim();
	// txtOld_l=txtOld.length
	var txtOldEnd=txtOld.slice(-24);
	var sig = /~{3}/g;

	if (!tNode){
		//editform.insertBefore(neuB, editform.elements['wpWatchthis']); // maybe FIXME: raised an NS_DOM_ERR!
		// var tNode = editform.elements['wpMinoredit'].parentNode;  // DOM workaround!? → Geht nicht bei Abschnitt hinzufügen, weil da der Button fehlt
		var tNode = editform.elements['wpWatchthis'].parentNode;  // DOM workaround!?
		tNode.divs = tNode.getElementsByTagName("DIV");
		tNode.divs = tNode.divs.item(tNode.divs.length-1); // last div
		tNode.insertBefore(neuB, tNode.divs);
		setSigBox();
	}
	
	function warnSign(event){
		if(editform.onsubmit=='' && warnonce ){ // only once!
			removeEvent(editform.wpSave,"click",doSign);
			removeEvent(editform.wpPreview,"click",doSign);
		}
		if(editform.wpMinoredit.checked || !sigBox.checked) return;
		txtarea.focus();
		var cOld = txtOld.match(/<nowiki>.*?~{3}.*?<\/nowiki>/g); // exception for nowiki
		if (cOld) cOld = cOld.length;
		cNew = txtarea.value.match(sig); if (cNew) cNew = cNew.length;
		if (cNew > cOld){ // if there are a sign, check for true
			var cNew2 = txtarea.value.match(/\{\{subst\:unsig.*?~{3}\}\}/); // exception for Template:unsigned
			cNew -= (cNew2)?cNew2.length:0;
		}
		if(cNew <= cOld){ // if nothing then search a set position
		    return editform.onsubmit=new Function("editform.onsubmit='';"
		      +"return confirm('Es wurde keine Signierung gefunden. Trotzdem fortfahren?')");
 		}
		else if(!sig.test(txtOld) || cOld < cNew) return;
		if (event) event=(window.Event)? event.target: event.srcElement;
		if (event.name == 'wpPreview') return; // not for preview
		return editform.onsubmit=new Function("editform.onsubmit='';"
		  +"return confirm('Es wurde keine Signierung gefunden. Trotzdem fortfahren?')");
	};
	addEvent(editform.wpSave,"click", warnSign);
	addEvent(editform.wpPreview,"click", warnSign);
	addEvent(editform.wpMinoredit,"click", setSigBox);
});

//*** end ***
//</nowiki></pre>