MediaWiki:Gadget-addeditLinks.js

Aus Watch-Wiki
Zur Navigation springen Zur Suche springen

Hinweis: Leere nach dem Speichern 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: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Gehe zu Menü → Einstellungen (Opera → Einstellungen auf dem Mac) und dann auf Datenschutz & Sicherheit → Browserdaten löschen → Gespeicherte Bilder und Dateien.
/* ------------------------------------------------------------------ */
/* Anzeigen von (Bearbeiten)-Links in Suchseiten, Beobachtungslisten  */
/* und Beitragslisten (Spezial:Contribution)                          */
/* ------------------------------------------------------------------ */

var Do_Debug = false;
var addeditLinksConf = mw.config.get(['wgCanonicalSpecialPageName', 'wgScriptPath']);

function addeditLinks() {
   if (addeditLinksConf.wgCanonicalSpecialPageName && 
       (addeditLinksConf.wgCanonicalSpecialPageName == "Search" ||
        addeditLinksConf.wgCanonicalSpecialPageName == "Contributions" ||
        addeditLinksConf.wgCanonicalSpecialPageName == "Recentchanges" ||
        addeditLinksConf.wgCanonicalSpecialPageName == "Watchlist" ||
        addeditLinksConf.wgCanonicalSpecialPageName == "Whatlinkshere"))
     {
      var Browser = navigator.appName;
      if ( navigator.userAgent.indexOf('Opera') > 0 ) Browser = 'Opera';
      if ( navigator.userAgent.indexOf('MSIE 6.0') > 0 ) Browser = 'MSIE6';

      for (var i = 0; i < document.getElementsByTagName("A").length; i++)
        {
         Artikel = "";
         if (href = document.getElementsByTagName("A")[i].getAttribute("href")) 
           {
            if ((href.indexOf("title=") != -1) && (href.indexOf("Spezial:") == -1) &&
                (href.indexOf("&action=edit") == -1))
              {
               Artikel = href.split("title=");
               Artikel = Artikel[1];
              }
            else
              {
               if ( Do_Debug && href + '' != '' )
                  alert('href ['+ href +']');
              }

            Artikel = decodeURIComponent(Artikel); /* nötig für FF und IE 8.0 */

            Artikel = Artikel.replace(/_/g, " ");
            Artikel = Artikel.replace(/\&/g, "&amp;");
            Artikel = Artikel.replace(/\%26/g, "&amp;");
            Artikel = Artikel.replace(/\%22/g, '"');
           }
         if (( Artikel ) &&
             ( Artikel === document.getElementsByTagName("A")[i].innerHTML ) && 
             ( Artikel != "Hauptseite" ) && 
             ( Artikel != "Forum" ) )
           {
            var editLink = document.createElement("a");
            editLink.setAttribute('href', addeditLinksConf.wgScriptPath + '/index.php?title=' +
                                          Artikel.replace(/\&amp;/g, "%26") + '&action=edit');
            editLink.setAttribute('title', 'Seite bearbeiten');
            var editLinkText = document.createTextNode('Bearbeiten');
            editLink.appendChild(editLinkText);
 
            document.getElementsByTagName("A")[i].parentNode.insertBefore(document.createTextNode('('), 
                                                                          document.getElementsByTagName("A")[i]);
            document.getElementsByTagName("A")[i].parentNode.insertBefore(editLink, 
                                                                          document.getElementsByTagName("A")[i]);
            i++;
            document.getElementsByTagName("A")[i].parentNode.insertBefore(document.createTextNode(') '),
                                                                          document.getElementsByTagName("A")[i]);
           }
         else
           {
            if ( Do_Debug )
               if ( Artikel + '' != '' )
                  alert('Artikel [' + Artikel + '] innerHTML [' + document.getElementsByTagName("A")[i].innerHTML + ']');
           }
        }
     }
  }
$( addeditLinks );