Benutzer:Plenz/monobook.js
aus Wikipedia, der freien Enzyklopädie
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
/*<pre>*/
/* Entfernt mehrfache Einträge zu einem Lemma aus der Beobachtungsliste, */
/* dabei beiben aber alle Bot-Edits plus 1 menschlicher Edit stehen. */
/* Erst die Bot-Einträge NACH dem menschlichen Edit werden ebenfalls */
/* entfernt. Zur Benutzung: in den Benutzereinstellungen */
/* "Erweiterte Beobachtungsliste zur Anzeige aller Änderungen" ankreuzen */
/* und die maximale Zahl der Einträge auf 1000 setzen. */
if (document.title.indexOf("Beobachtungsliste") > -1 ) {
var a, i, u, l, kn, at, cl, lk, nl, ul, li, ll, le, bo, tx;
var ct = 0;
var lz = 0;
leli = new Array(); // Liste zu löschender Lemmata
for (u = 0; u < document.getElementsByTagName("ul").length; u++) {
ul = document.getElementsByTagName("ul")[u];
cl = ul.getAttribute("class");
if (cl && cl.indexOf("special") > -1) { // alle Listen für jeden Tag durchgehen
li = ul.firstChild;
while (li) { // alle Einträge der jeweiligen Liste durchgehen
if (li.firstChild) { // Eintrag, kein Textknoten
ct++; // Eintrag zählen
kn = li.firstChild;
bo = 0; // Bot-Flag
cl = 0; // Lösch-Flag
le = ""; // Lemma o.ä.
do {
if (kn.getAttribute) { // Textknoten übergehen
a = kn;
at = a.getAttribute("class");
// if (at && at == "mw-watched") { // STRONG --> nächste Ebene
if (at && at == "mw-changeslist-line-inner") { // STRONG --> nächste Ebene
a = a.firstChild;
}
at = a.getAttribute("title");
if (at && le == "") {le = at} // Lemma o.ä. gefunden
at = a.getAttribute("class");
if (at && at == "bot") {bo = 1} // Bot gefunden
if (at && at == "comment") { // Link zum Kapitel
at = a.firstChild; // Textknoten
// at = at.nextSibling; // autocomment?
// if (at && at.getAttribute("class") == "autocomment") {
// at = at.firstChild;
// at = at.getAttribute("href"); // Link zum Kapitel
// lk.setAttribute("href", at); // in Lemma-Link einsetzen
// }
}
at = a.getAttribute("href");
if (at) { // verkürzen
tx = a.firstChild;
if (tx.data == "Unterschied") {tx.data = "Diff."}
if (tx.data == "Versionen") {tx.data = "V."}
}
at = a.getAttribute("class");
if (at && at == "mw-title") {a = a.firstChild;}
if (at && a.firstChild.data == le) { // Link zum Lemma --> Entscheidung jetzt!
lk = a; // wichtigster Link
for(l = 0; l < leli.length; l++) { // Liste nach diesem Lemma durchsuchen
if (leli[l] == le) {cl = 1} // schon in der Liste --> Löschflag setzen
}
if (cl < 1 && bo < 1) {leli.push(le)} // kein Bot-Eintrag: Lemma in die Liste
}
}
kn = kn.nextSibling; // nächster Bestandteil des Eintrages
} while (kn && cl < 1); // weiter bis zum Ende
}
lk = li; // Löschkandidat
li = li.nextSibling; // nächster Eintrag
if (li && li.data) {li = li.nextSibling} // Textknoten überspringen
if (cl > 0) { // Löschflag gesetzt:
cl = lk; // Löschkandidat
lk = lk.nextSibling; // folgender Textknoten
cl.parentNode.removeChild(cl); // Eintrag löschen
lz++; // und zählen
if (lk && lk.nodeType == 3) { // gibt es einen Textknoten?
lk.parentNode.removeChild(lk); // Textknoten löschen
}
} else {
nl = ct; // Nicht-gelöscht-Zähler
ll = lk; // nicht gelöschter Kandidat
}
}
}
}
li = document.createElement("li");
ll.appendChild(li);
at = "Der letzte Eintrag war der " + nl + ". auf der Liste. " + lz + " von " + ct + " entfernt.";
at = document.createTextNode(at);
li.appendChild(at);
}
/* lässt Navigation/Werkzeug/etc. auf gleichbleibender Höhe */
/* fügt Link zum Hochladen auf Wikimedia Commons hinzu */
/* fügt Links "nach oben scrollen" und "nach unten scrollen" ein */
/* schaltet Liste "Andere Spachen" aus und ein */
var langdisplay = "off"; // Schalter für Sprachen-Tabelle
var mani = window.setInterval(function() { Manipul() }, 100); // Manipulationen
function Manipul()
{
kn = document.getElementById("t-upload"); // Link zum Hochladen
if (!kn) {return} // noch nicht geladen, weiter versuchen
window.clearInterval(mani); // nicht weiter versuchen
window.setInterval(function() { ScrollV() }, 100); // Navi-Leiste scrollen
kn = document.getElementById("p-coll-print_export"); // Buch/PDF/Druckversion erstellen...
if (kn) {kn.parentNode.removeChild(kn)} // ... braucht kein Mensch
kn = document.getElementById("t-upload"); // Hochladen --> deutsch
kn = kn.firstChild;
var t = "Lade Bilder oder andere Multimedia-Dateien ";
t = t + "auf die deutsche Wikipedia hoch [alt-u]";
kn.setAttribute("TITLE", t);
kn = kn.firstChild;
kn.data = "Hochladen (deutsch)";
kn = document.getElementById("n-randompage"); // Zufälliger Artikel
kn = kn.firstChild.firstChild;
kn.data = "Zufäll. Artikel";
kn = document.getElementById("t-upload");
sc = document.createElement("LI");
sc.setAttribute("ID", "t-uploadComm");
kn.parentNode.insertBefore(sc, kn);
kn = sc;
sc = document.createElement("A"); // Hochladen --> Commons
kn.appendChild(sc);
t = "Lade Bilder oder andere Multimedia-Dateien ";
t = t + "auf die Wikimedia Commons hoch";
sc.setAttribute("TITLE", t);
sc.setAttribute("TARGET", "_WindowCommons");
sc.setAttribute("HREF", "http://commons.wikimedia.org/wiki/Special:Upload");
sc.appendChild(document.createTextNode("Hochladen (Commons)"));
kn = document.getElementById("p-navigation"); // Navi-Kasten schmaler
kn.style.width = "87pt";
kn = document.getElementById("p-navigation"); // Navigation p-navigation
sc = document.createElement("DIV");
sc.setAttribute("ID", "n-scrollen");
sc.style.position = "relative";
sc.style.display = "table";
sc.style.height = "70pt";
sc.style.width = "18pt";
sc.style.marginLeft = "89pt";
sc.style.marginTop = "-65pt";
kn.parentNode.insertBefore(sc, kn);
kn = sc;
sc = document.createElement("A"); // Link --> nach oben scrollen
sc.style.position = "relative";
sc.style.top = "4pt";
sc.style.cursor = "pointer";
sc.style.textDecoration = "none";
sc.setAttribute("TITLE", "nach oben scrollen");
sc.setAttribute("onClick", "javascript:scrollup()");
sc.appendChild(document.createTextNode("▲"));
sc.style.fontSize = "2em";
kn.appendChild(sc);
sc = document.createElement("BR"); // Zwischenraum erzeugen
kn.appendChild(sc);
sc = document.createElement("BR"); // Zwischenraum erzeugen
kn.appendChild(sc);
sc = document.createElement("A"); // Link --> nach unten scrollen
sc.style.cursor = "pointer";
sc.style.textDecoration = "none";
sc.setAttribute("TITLE", "nach unten scrollen");
sc.setAttribute("onClick", "javascript:scrolldn()");
sc.appendChild(document.createTextNode("▼"));
sc.style.fontSize = "2em";
sc.setAttribute("display", "none");
kn.appendChild(sc);
kn = document.getElementById("p-lang"); // Andere Sprachen:
if (kn) // vorhanden
{
kn = document.getElementById("t-upload"); // "Hochladen"
sc = document.createElement("LI");
sc.setAttribute("ID", "t-sprache");
kn.parentNode.appendChild(sc);
kn = sc;
sc = document.createElement("A"); // Schalter hinzufügen
kn.appendChild(sc);
sc.setAttribute("TITLE", "Liste der Sprachen zeigen");
sc.style.cursor = "pointer";
sc.setAttribute("onClick", "javascript:togglesprache()");
sc.appendChild(document.createTextNode("Sprachen zeigen"));
}
}
function ScrollV()
{
var kn;
var sc = window.pageYOffset;
if (sc < 150) {sc = 0} else {sc = 0.75 * (sc - 150)}
kn = document.getElementById("p-search");
if (kn) {kn.style.position = "relative"}
if (kn) {kn.style.top = sc + "pt"}
kn = document.getElementById("p-navigation");
if (kn) {kn.style.position = "relative"}
if (kn) {kn.style.top = sc + "pt"}
kn = document.getElementById("p-Mitmachen");
if (kn) {kn.style.position = "relative"}
if (kn) {kn.style.top = sc + "pt"}
kn = document.getElementById("p-tb");
if (kn) {kn.style.position = "relative"}
if (kn) {kn.style.top = sc + "pt"}
kn = document.getElementById("n-raufrunter");
if (kn) {kn.style.position = "relative"}
if (kn) {kn.style.top = sc + "pt"}
kn = document.getElementById("n-scrollen");
if (kn) {kn.style.position = "relative"}
sc = sc + 83;
if (kn) {kn.style.top = sc + "pt"}
kn = document.getElementById("p-lang"); // Andere Sprachen:
if (kn) // vorhanden
{
if (langdisplay == "off") {sc = "hidden"} else {sc = "visible"} // aus oder ein
kn.style.visibility = sc;
}
}
function togglesprache()
{
var kn;
if (langdisplay == "off")
{
langdisplay = "on";
kn = document.getElementById("t-sprache");
kn.firstChild.setAttribute("TITLE", "Liste der Sprachen verstecken");
kn.firstChild.firstChild.data = "Sprachen verstecken";
}
else
{
langdisplay = "off";
kn = document.getElementById("t-sprache");
kn.firstChild.setAttribute("TITLE", "Liste der Sprachen zeigen");
kn.firstChild.firstChild.data = "Sprachen zeigen";
}
}
function scrollup() {window.scrollTo(0, 0)}
function scrolldn() {window.scrollTo(0, 100000000)}
window.setTimeout("scrolltextarea()",3000);
function scrolltextarea()
{
var ip = document.getElementById("wpSummary"); // neues Kapitel
if (ip)
{
ip.setAttribute("maxlength", "999"); // Reverten braucht viel Platz
if (ip.value < "!")
{ip.focus()}
else
{
var ip = document.getElementById("wpTextbox1"); // scrollt zum Eingabefenster
if (ip) {ip.focus()}
}
}
}
window.setTimeout(function()
{
var no, nn, nu, ip;
ip = window.document.getElementsByTagName("TITLE")[0].firstChild.nodeValue;
if (ip.search(/Benutzer:Plenz /) > -1)
{
no = window.document.getElementById("toctitle");
no = no.nextSibling; // UL
no = no.lastChild; // letztes LI
nu = no.firstChild.firstChild.firstChild.data;
nn = no.cloneNode(true);
no.parentNode.appendChild(nn); // Kopie einbauen
no = nn.firstChild; // A
no.href = "http://de.wiki" + "pedia.org/wiki/Benu" + "tzer:Ple" + "nz/U" + "DO";
no = no.firstChild; // SPAN
no.firstChild.data = nu * 1 + 1; // Zähler
no = no.nextSibling;
no = no.nextSibling;
no.firstChild.data = "UDO";
}
if (ip.search(/Beobachtungsliste/) > -1)
{
no = window.document.getElementById("contentSub");
no = no.lastChild; // letztes A
no.href = "http://en.wikipedia.org/wiki/Special:Watchlist";
no.firstChild.data = "EN";
}
}, 1000);
// var umlkorr = window.setInterval("UmlautKorr()",5000); // Umlaute korrigieren
function UmlautKorr()
{
var ta = document.getElementById("wpTextbox1");
if (ta)
{
var tx = ta.value;
tx = tx.replace(/%28/ig, "(");
tx = tx.replace(/%29/ig, ")");
tx = tx.replace(/%C3%A4/ig, "ä");
tx = tx.replace(/%C3%B6/ig, "ö");
tx = tx.replace(/%C3%BC/ig, "ü");
tx = tx.replace(/%C3%9F/ig, "ß");
tx = tx.replace(/%C3%84/ig, "Ä");
tx = tx.replace(/%C3%96/ig, "Ö");
tx = tx.replace(/%C3%9C/ig, "Ü");
// ta.focus();
// var start = tx.selectionStart;
// var range = document.selection.createRange();
// alert(start);
// document.getElementById("wpTextbox1").value = tx;
}
}
var ti = document.getElementsByTagName("TITLE")[0];
ti = ti.firstChild.nodeValue;
if (ti.search(/Beobachtungsliste/) > -1) {
window.setTimeout(function() {paintwatch()}, 1000);
}
function paintwatch() {
var h, h4, da, li, tx, uz, dac, uzc, ti;
var li1 = "";
var rot = 0;
for (var h=0; h<document.getElementsByTagName("h4").length; h++) {
h4 = document.getElementsByTagName("h4")[h];
da = h4.firstChild.data;
if (da.substr(1, 1) == ".") {da = "0" + da}
da = da.substr(0, 7) + da.match(/ \d\d\d\d/);
da = datconv(da);
li = h4.nextSibling.nextSibling.firstChild;
if (li1 == "") {li1 = li;}
do {
uz = li.firstChild;
if (! uz) {alert(h4.firstChild.data)}
do {
uz = uz.nextSibling;
} while (! uz.data || uz.data.search(/\d\d:\d\d/) < 1)
uz = uz.data.match(/\d\d:\d\d/);
li.setAttribute("id", da + " " + uz); // IDs setzen
} while ((li = li.nextSibling) && (li = li.nextSibling))
}
dac = readcookie("LastWatchDate"); // Datum aus Cookie
for (h=0; h<document.getElementsByTagName("li").length; h++) {
li = document.getElementsByTagName("li")[h];
li.style.backgroundColor = "transparent";
da = li.getAttribute("id");
if (da && da > dac && da.match(/\d\d\d\d/)) {
li.style.backgroundColor = "#F8E8D8"; // rosa
rot = 1;
}
}
ti = document.getElementsByTagName("TITLE")[0];
if (rot > 0) {
h4 = document.getElementsByTagName("h4")[0];
li = document.createElement("a");
tx = document.createTextNode("OK");
li.appendChild(tx);
h4.appendChild(li);
li.style.paddingLeft = "2em";
li.style.fontWeight = "normal";
li.style.cursor = "pointer";
li.setAttribute("id", "pwclick");
li.setAttribute("onclick", "paintwatch()");
tx = ti.text;
if (tx.indexOf("!") < 0) {ti.text = "!!! " + tx}
}
else {
document.getElementsByTagName("h4")[0].style.backgroundColor = "#DDFFCC"; // gruen
li = document.getElementById("pwclick");
if (li) {li.parentNode.removeChild(li)}
tx = ti.text;
if (tx.indexOf("!") > -1) {ti.text = tx.substr(4,99)}
}
if (document.getElementById("permclick")) {return} // alles schon vorhanden
da = new Date();
uz = da.getTime() + 31 * 24 * 60 * 60 * 1000;
da.setTime(uz);
uz = da.toGMTString();
li = document.getElementsByTagName("h4")[0];
li = li.nextSibling.nextSibling.firstChild;
tx = li.getAttribute("id");
document.cookie = "LastWatchDate=" + tx + "; expires=" + uz;
h4 = document.getElementsByTagName("h4")[0];
li = document.createElement("a");
h4.appendChild(li);
li.setAttribute("id", "permclick");
li.style.paddingLeft = "20em";
li.style.fontWeight = "normal";
li.style.cursor = "pointer";
ur = window.location.href;
if (ur.search(/watchperm=1/) > 0) {
li.setAttribute("onclick", "permunwatch()");
tx = document.createTextNode("nicht wachen");
li.appendChild(tx);
li = document.createElement("span");
li.style.fontWeight = "normal";
h4.appendChild(li);
uz = da.getHours();
h4 = da.getMinutes() + 30;
if (h4 > 59) {
h4 = h4 - 60;
uz++;
}
if (uz > 23) {uz = uz - 24}
if (h4 < 10) {h4 = "0" + h4}
uz = " (wartet bis " + uz + ":" + h4 + ")";
tx = document.createTextNode(uz);
li.appendChild(tx);
window.setTimeout("javascript:location.reload()", 1800000);
}
else {
li.setAttribute("onclick", "permwatch()");
tx = document.createTextNode("wachen");
li.appendChild(tx);
}
}
function datconv(d) {
var t = d.substr(0, 2);
var j = d.substr(8, 4);
var m = d.substr(4, 3);
if (m == "Jan") {m = "01";}
if (m == "Feb") {m = "02";}
if (m == "Mär") {m = "03";}
if (m == "Apr") {m = "04";}
if (m == "Mai") {m = "05";}
if (m == "Jun") {m = "06";}
if (m == "Jul") {m = "07";}
if (m == "Aug") {m = "08";}
if (m == "Sep") {m = "09";}
if (m == "Okt") {m = "10";}
if (m == "Nov") {m = "11";}
if (m == "Dez") {m = "12";}
return(j + "-" + m + "-" + t);
}
function permwatch() {
var ur = window.location.href;
window.location.href = ur + "&watchperm=1";
}
function permunwatch() {
var ur = window.location.href;
var li = ur.indexOf("watchperm") - 1;
window.location.href = ur.substr(0, li);
}
function readcookie(su) {
var co = "aa" + document.cookie + ";ee";
var le = su.length;
var an = co.indexOf(su);
// alert(co + " --> " + su + " --> " + an);
if (an < 1) {return(-1);}
an = an + le + 1;
var en = co.indexOf(";", an);
le = en - an
en = co.substr(an, le);
return(en);
}
/*</pre>*/