MediaWiki:Gadget-Einleitung-bearbeiten.js

Aus Kitakien

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Und noch ein Workaround für Skins, die siteSub nicht in eine Überschrift packen)
K (10 Versionen: Systemmeldungen)
 
(Der Versionsvergleich bezieht 5 dazwischenliegende Versionen mit ein.)
Zeile 1: Zeile 1:
-
// ursprünglich: [[:en:User:Pile0nades]]
+
// Anwenderbeschreibung siehe [[MediaWiki:Gadget-Einleitung-bearbeiten]]
-
// Erweitert von: Maciej Jaros [[:pl:User:Nux]]
+
-
// siehe http://pl.wikipedia.org/wiki/MediaWiki:Monobook.js
+
-
// Korrigiert von: [[Benutzer:TMg]]
+
-
if (wgIsArticle) addOnloadHook(function() {
+
/* Autoren:
-
// somehow it gets run twice on some pages - stop that
+
* ursprünglich: [[:en:User:Pile0nades]]
-
if (window.addEditTopLinkDone)
+
* Erweitert von: Maciej Jaros [[:pl:User:Nux]] (siehe http://pl.wikipedia.org/wiki/MediaWiki:Monobook.js)
-
return;
+
* Korrigiert von: [[Benutzer:TMg]] */
-
window.addEditTopLinkDone = true;
+
-
// if there are no edit-section links then stop
+
/*global addOnloadHook, wgIsArticle */
-
var spans = document.getElementsByTagName("span");
+
-
var i;
+
-
for (i = 0; i < spans.length; i++) {
+
-
if (spans[i].className == 'editsection')
+
-
break;
+
-
}
+
-
if (i >= spans.length)
+
-
return;
+
-
// additional checkup to stop
+
if (wgIsArticle) {
-
var test = document.getElementsByTagName("h2").length +
+
addOnloadHook(function () {
-
document.getElementsByTagName("h3").length +
+
// Neither run on fully-protected pages (which lack ca-edit) nor modify the same page twice
-
document.getElementsByTagName("h4").length - (javascript:alert(typeof document.getElementById('siteSub') == 'undefined' || document.getElementById('siteSub').tagName != 'H3');) ? 0 : 1 ;
+
if ((document.getElementById("ca-edit") == null) ||  
-
// note that there is always siteSub (h3)
+
                    (document.getElementById('firstsectionedit') !== null)) {
-
var addEditTopLinkNumHeaders = window.addEditTopLinkNumHeaders || 2;
+
return;
-
if (test <= addEditTopLinkNumHeaders)
+
}
-
return;
+
-
// get first header element
+
// if there are no edit-section links then stop
-
var fst_h1 = document.getElementsByTagName("h1")[0];
+
var spans = document.getElementsByTagName("span");
 +
for (var i = 0 ; i < spans.length ; i++) {
 +
if (spans[i].className === 'editsection') {
 +
break;
 +
}
 +
}
 +
if (i >= spans.length) {
 +
return;
 +
}
-
// Creating elements
+
// get first header element
-
// create span
+
var fst_h1 = document.getElementsByTagName("h1")[0];
-
var span = document.createElement("SPAN");
+
-
span.className = 'editsection';
+
-
// create link
+
-
var link = document.createElement("A");
+
-
link.href = document.getElementById("ca-edit").getElementsByTagName("a")[0].href + '&section=0';
+
-
link.title = "Abschnitt bearbeiten: Einleitung";
+
-
link.appendChild(document.createTextNode('Bearbeiten'));
+
-
// append link and stuff to span
+
-
span.appendChild(document.createTextNode('['));
+
-
span.appendChild(link);
+
-
span.appendChild(document.createTextNode(']'));
+
-
// Insert span container into the DOM before the h1
+
// Creating elements
-
fst_h1.insertBefore(document.createTextNode(" "), fst_h1.firstChild);
+
// create span
-
fst_h1.insertBefore(span, fst_h1.firstChild);
+
var span = document.createElement("SPAN");
-
});
+
span.className = 'editsection';
 +
span.id = 'firstsectionedit';
 +
 
 +
// create link
 +
var link = document.createElement("A");
 +
link.href = document.getElementById("ca-edit").getElementsByTagName("a")[0].href + '&section=0';
 +
link.title = "Abschnitt bearbeiten: Einleitung";
 +
link.appendChild(document.createTextNode('Bearbeiten'));
 +
// append link and stuff to span
 +
span.appendChild(document.createTextNode('['));
 +
span.appendChild(link);
 +
span.appendChild(document.createTextNode(']'));
 +
 
 +
// Insert span container into the DOM before the h1
 +
fst_h1.insertBefore(document.createTextNode(" "), fst_h1.firstChild);
 +
fst_h1.insertBefore(span, fst_h1.firstChild);
 +
});
 +
}

Aktuelle Version vom 18:01, 9. Dez. 2009

// Anwenderbeschreibung siehe [[MediaWiki:Gadget-Einleitung-bearbeiten]]
 
/* Autoren:
* ursprünglich: [[:en:User:Pile0nades]]
* Erweitert von: Maciej Jaros [[:pl:User:Nux]] (siehe http://pl.wikipedia.org/wiki/MediaWiki:Monobook.js)
* Korrigiert von: [[Benutzer:TMg]] */
 
/*global addOnloadHook, wgIsArticle */
 
if (wgIsArticle) {
	addOnloadHook(function () {
		// Neither run on fully-protected pages (which lack ca-edit) nor modify the same page twice
		if ((document.getElementById("ca-edit") == null) || 
                    (document.getElementById('firstsectionedit') !== null)) {
			return;
		}
 
		// if there are no edit-section links then stop
		var spans = document.getElementsByTagName("span");
		for (var i = 0 ; i < spans.length ; i++) {
			if (spans[i].className === 'editsection') {
				break;
			}
		}
		if (i >= spans.length) {
			return;
		}
 
		// get first header element
		var fst_h1 = document.getElementsByTagName("h1")[0];
 
		// Creating elements
		// create span
		var span = document.createElement("SPAN");
		span.className = 'editsection';
		span.id = 'firstsectionedit';
 
		// create link
		var link = document.createElement("A");
		link.href = document.getElementById("ca-edit").getElementsByTagName("a")[0].href + '&section=0';
		link.title = "Abschnitt bearbeiten: Einleitung";
		link.appendChild(document.createTextNode('Bearbeiten'));
		// append link and stuff to span
		span.appendChild(document.createTextNode('['));
		span.appendChild(link);
		span.appendChild(document.createTextNode(']'));
 
		// Insert span container into the DOM before the h1
		fst_h1.insertBefore(document.createTextNode(" "), fst_h1.firstChild);
		fst_h1.insertBefore(span, fst_h1.firstChild);
	});
}
Persönliche Werkzeuge