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
 // ============================================================
 // BEGIN addEditAndRevertLinks
 // (ursprünglich von [[Benutzer:Berlin-Jurist]] so weit ich weiß)
 // Revert-Fkt hinzugefügt + Beschränkung auf Seiten wo es Sinn macht. [[Benutzer:Littl]].
 //
 // verschiedene Fixes von [[Benutzer:PDD]]:
 // - verwirrende Extrabuttons auf den Diff-Seiten (oben in den Tabs) entfernt
 // - ausführlichere Revert-Informationen
 // - bessere Erkennung von zu revertierenden/editierenden Links
 // - optional Benutzer-Link in Revertinfo (über var revlinkshowuser)
 // - Anpassung auf neue MediaWiki-Oberfläche (31.5.2006)
 // - Verhinderung zu langer Editkommentare

 // <nowiki>


 // Hauptfunktion: addEditAndRevertLinks
 function addEditAndRevertLinks() {

   var is_history = mw.config.get('wgAction') == 'history';
   var is_diff    = mw.util.getParamValue('diff') !== null;

   var mainNode = document;

   if (is_history) {
     for (var i=0; mainNode = document.body.getElementsByTagName("SECTION")[i]; i++)
        if (mainNode.id == "pagehistory")
            tagNodes (mainNode, is_history, is_diff);
   }
   else if (is_diff) {
     for (var i=0; mainNode = document.body.getElementsByTagName("TD")[i]; i++)
        if (mainNode.classList.contains("diff-otitle") || mainNode.classList.contains("diff-ntitle"))
            tagNodes (mainNode, is_history, is_diff);
   }
 }
 // END addEditAndRevertLinks
 // ============================================================


 // tagNodes (tagging descendant nodes of mainNode)
 function tagNodes (mainNode, is_history, is_diff) {

   // Jede der folgenden Variablen kann in der eigenen monobook.js/vector.js/common.js vorbelegt werden.

   // Getestet wird jeweils die Ausnahme, Standard ist jeweils das Gegenteil davon.
   var editlinkoldversion   = window.editlinkoldversion   !== false;
   var revertwithreason     = window.revertwithreason     !== false;
   var revlinkshowuser      = window.revlinkshowuser      !== false;

   var editlinktxt          = window.editlinktxt          || 'edit';
   var revlinktxt           = window.revlinktxt           || 'rev';

   // Ende der vordefinierbaren Variablenwerte

   var Edit = "(" + editlinktxt + ")";
   var Rv   = "(" + revlinktxt + ")";

   var first= true;
   for (var i=0; aNode = mainNode.getElementsByTagName("A")[i]; i++)
   {
     // if it's a link to an old version but not a diff-link and not already an edit link
     if ( (href = aNode.getAttribute("href")) && (href.search(/oldid=/) != -1)
          && (href.search(/diff=/) == -1) && (href.search(/action=edit/) == -1) )
     {
       // Create Edit link (only on history; new MW has edit links on diffpage so we can skip this)
       if (editlinkoldversion  && is_history) {
         var EditNode = document.createElement('a');
         EditNode.setAttribute('href', href + '&action=edit#summary');
         var EditTextNode = document.createTextNode(Edit);
         EditNode.appendChild(EditTextNode);
         // Add Edit Link To Old Version Link
         aNode.parentNode.insertBefore( EditNode, aNode.nextSibling );
         // Insert whitespace before Edit Link
         aNode.parentNode.insertBefore( document.createTextNode(' '), aNode.nextSibling );
         // jump over inserted (edit) anchor
         i++;
       }

       // Create RV Link
       if (revertwithreason && (is_diff || (is_history && !first))) {
        var rvtimestamp = aNode.innerHTML.replace(/.*vom /,'');
        var rvtsdate = rvtimestamp.replace(/.*, /,'');
        var rvtstime = rvtimestamp.replace(/, .*/,'');
        // für ISO 8601 datumsformat: erstmal keine Umformung
        if (rvtsdate == rvtstime) rvtstime = '';

        // Benutzernamen müsste man eigtl. aus dem href nehmen (um UTF8-Namen korrekt zu übernehmen),
        // aber dann brauchen wieder IPs eine Sonderbehandlung. Vielleicht später...
        var rvuser;
        if (is_history)
           rvuser = mainNode.getElementsByTagName("A")[i+1].innerHTML;
        else  {
           // is_diff
           // linke Seite?
           if (mainNode.getElementsByTagName("A")[i+3].innerHTML == "Diskussion")
              rvuser = mainNode.getElementsByTagName("A")[i+2].innerHTML;
           // rechte Seite
           else
              rvuser = mainNode.getElementsByTagName("A")[i+3].innerHTML;
        }
        // kleiner Hack für Username mit '&'
        rvuser = rvuser.split('&amp;').join('&');

        var defaultgrund = 'Revert auf Version vom ' + rvtsdate +
                           ((rvtstime == '')? '' : (' (' + rvtstime + ')'));
        if (revlinkshowuser)
        {
            rvuser = rvuser.replace(/<span class="adminMark">.*<\/span>/,''); // adminMark wieder raus.
            rvuser = rvuser.replace(/^<bdi>(.*)<\/bdi>$/,'$1'); // bdi entfernen
            defaultgrund = 'Revert auf Version von [[:Benutzer:' + rvuser + ']] (' + rvtsdate +
            ((rvtstime == '')? '' : (', ' + rvtstime)) + ')';
        }

        var Rvnode = document.createElement('a');
        Rvnode.setAttribute('href', 'javascript:revertme("' + encodeURI(href) + '", "' + defaultgrund + '")');
        var RvTextNode = document.createTextNode(Rv);
        Rvnode.appendChild(RvTextNode);
        aNode.parentNode.insertBefore( Rvnode, aNode.nextSibling );
        aNode.parentNode.insertBefore( document.createTextNode(' '), aNode.nextSibling );
        // jump over inserted (rev) anchor
        i++;
       } // END if2
       first=false;
     } // END if1
   } // END for
 }
 // END tagNodes
 // ============================================================


 // revertme by Littl, extended by PDD
 function revertme (href, defaultgrund) {

   // Jede der folgenden Variablen kann in der eigenen monobook.js/vector.js/common.js vorbelegt werden.

   // Getestet wird jeweils die Ausnahme, Standard ist jeweils das Gegenteil davon.
   var rvisminor            = window.rvisminor            !== false;
   var aearlhere            = window.aearlhere            === true;

   var aearldefault         = window.aearldefault         || "Grund: keine Verbesserung des Artikels";

   // Ende der vordefinierbaren Variablenwerte

   var detailgrund = prompt(defaultgrund, aearldefault);
   if (detailgrund == null) return;

   detailgrund = trim(detailgrund);
   // detailgrund-shortcuts von [[Benutzer:-jha-]]
   switch (detailgrund) {
      case "for":
      case "web":  detailgrund='Link bietet keine [[WP:WEB|weiterführenden enzyklopädischen Informationen]].';
                   break;
      case "pop":  detailgrund='Link führte zu Website mit bevormundender Navigation (siehe auch [[WP:WEB]]).';
                   break;
      case "dis":  detailgrund='Bitte Diskussionsseite beachten.';
                   break;
      case "rere": detailgrund='Bitte zunächst auf der Diskussionsseite einen Konsens herstellen.';
                   break;
      case "va":
      case "ba":   detailgrund='Grund: Vandalismus.';
                   break;
      case "er":   detailgrund='Eigenrevert! (Ich muss wohl mal wieder zum Optiker...)';
                   break;
      case "unt":  detailgrund='Nicht unterschriebenen Diskussionsbeitrag entfernt (siehe auch [[WP:SIG]]).';
                   break;
      case "unf":  detailgrund='Grund: Unfall in der Editbox';
                   break;
      case "twl":  detailgrund='Bitte keine externen Links (Weblinks) im Artikeltext selbst angeben (siehe auch [[WP:WEB]]).';
                   break;
      case "blau": detailgrund='Bitte keine extreme Überverlinkung (siehe auch [[WP:BLAU]]).';
                   break;
      case "blau2": detailgrund='[[Bitte]] [[keine]] [[Links]] [[ohne]] [[Bezug]] zum [[Thema]] [[reinsetzen]]. [[Danke]].';
                   break;
      case "komm": detailgrund='Kommentare gehören nicht in den Artikel, sondern auf die Diskussionsseite.';
                   break;
      case "qa":   detailgrund='Bitte inhaltliche Änderungen mit Fundstellen/Belegen/Quellen begründen (siehe auch [[WP:BLG]]) und künftig den Hinweis "[[WP:ZQ|Zusammenfassung und Quellen]]" nutzen.';
                   break;
      case "rl":   detailgrund='Relevanz fraglich. Bei Beispielaufzählungen mit mehreren "blauen" Links keine "roten" Links hinzufügen. Relevanz durch Anlegen der entsprechenden Artikel klären (siehe [[WP:VL]]).';
                   break;
      case "pov":  detailgrund='Beitrag widerspricht dem Grundsatz des [[WP:NPOV|Neutralen Standpunktes]].';
                   break;
      case "wl":   detailgrund='Nicht begründete/nachvollziehbare Ver-/Entlinkung. Bitte begründen! ([[WP:ZQ|Zusammenfassung und Quellen]] oder ggf. Diskussionsseite nutzen.)';
                   break;
      case "loe":  detailgrund='Nicht begründete/nachvollziehbare Entfernung längerer Textabschnitte. Bitte begründen! ([[WP:ZQ|Zusammenfassung und Quellen]] oder ggf. Diskussionsseite nutzen.)';
                   break;
      case "wwni": detailgrund='Form des Beitrages vermittelt kein enzyklopädisches Wissen. Bitte die Grundsätze in [[WP:WWNI|Was Wikipedia nicht ist]] beachten.';
                   break;
      case "enz":  detailgrund='Beitrag nicht von enzyklopädischer Textqualität. Bitte "[[WP:WSIGA|Wie schreibe ich einen guten Artikel]]" beachten.';
                   break;
      case "otrs": detailgrund='OTRS-Freigabe ist eingetroffen, siehe bitte die Diskussionsseite des Artikels.';
                   break;
      case "man":  detailgrund='Bitte keine fremden Diskussionsbeiträge verändern.';
                   break;
   }

   // sicherstellen, dass Begründung in die Zusammenfassungszeile passt
   if (EditCommentLength(defaultgrund+detailgrund+2) < 0) {
      // zu lang, also erstmal den defaultgrund kürzen
      defaultgrund = 'Revert';
      var commenttoolong = true;
      while ((commenttoolong == true) && (detailgrund != null)) {
        if ((superflu=EditCommentLength(defaultgrund+detailgrund+2)) < 0)
            detailgrund = prompt("Die Begründung ist leider etwas zu lang.\nBitte um "+(0-superflu)+" Zeichen kürzen.", detailgrund);
        else
            commenttoolong = false;
      }
   }

   if (detailgrund == null) return;
   if (detailgrund=='') grund = trim(defaultgrund);
   else grund = defaultgrund + ((defaultgrund == 'Revert')? ': ' : '. ') + detailgrund;

   href = href + "&action=edit&" + asuserp + "=" + generate_asuser() + "&" + astimep + "=" + generate_astime() + "&" + subjp + "=" + encodeURIComponent(grund);
   if (rvisminor) href = href + "&" + minorp + "=1";
   if (aearlhere)
      window.open (href,'_self','',true);
   else
      window.open (href,'_blank');
   window.focus();
 }
 // END revertme
 // ============================================================

 $(document).ready(addEditAndRevertLinks);

 // </nowiki>