Benutzer:Revolus/monobook.js/XML-Beschreibung-Da-Test.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
/* <pre> */
if(wgCanonicalNamespace == "Category") addOnloadHook(function() {
 // Seitenlinks in der Kategorie nach $Links
 var Links;
 if(Links = document.getElementById("mw-pages")) {
  if(!(Links = Links.getElementsByTagName("a")) || (Links.length<1)) return;
  } else return;
 
 // Anfrage nach $s
 var s = "";
 for(var i=0; i<Links.length; i++) {
  var t = Links[i].getAttribute("title");
  if((t.indexOf("Vorlage")==0) || (t.indexOf("Template")==0))
   s += t + "/XML|";
  };
 if(s=="") return;
 s = s.substr(0, s.length - 1);
 
 // Ajax-Objekt holen -> $xhr
 var xhr = null;
 try { xhr = new XMLHttpRequest(); }
 catch(e) {
  try { xhr = new ActiveXObject("Microsoft.XMLHTTP"); }
  catch(e) { return; };
  };
 
 // Bei-Antwort-Funktion
 xhr.onreadystatechange = function() {
  if((xhr.readyState == 4) && (xhr.status == 200)) { // Alles ok?
   var o = eval("(" + xhr.responseText + ")"); // [[JSON]] parsen
   if((!o) || (!(o = o.query)) || (!(o = o.pages))) return; // Korrekte ausgabe?
   for(var i in o) { // jede Rückgabe untersuchen
    if(i<0) continue; // Keine Revision gespeichert -> existiert nicht
    var s = o[i].title;
    s = "/wiki/" + s.substr(0, s.length - 4).replace(/ /g, "_");
    var l = false;
    for(var h = 0; h<Links.length; h++) // entsprechenden Links nach $l suchen
     if(Links[h].getAttribute("href") == s) {
      l = Links[h];
      break;
      };
    if(!l) continue; // keinen entsprechenden Link gefunden (?)
    var info = document.createElement("a"); // Info erstellen
    info.setAttribute("class", "CAT-XML-da");
    info.setAttribute("href", l.href + "/XML");
    info.setAttribute("title", l.title + "/XML");
    info.appendChild(document.createTextNode("XML"));
    l.parentNode.insertBefore(info, l); // und vor den Link setzen
    l.parentNode.setAttribute("class", "CAT-XML-da"); // Auch das <LI> soll das wissen.
    };
   };
  };
 
 // Anfrage
 xhr.open("GET", "/w/api.php?action=query&prop=info&format=json&titles="+ s, true);
 xhr.send(null);
 });
/* </pre> */