Benutzer:Nightfly85/viewerInfo.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
/**
 * Anzahl der Beobachter für Artikel in einem Tab
 * oben rechts anzeigen lassen mit Verweis auf
 * Artikel-Informationsseite
 *
 * Nutzbar für den Vector- und Monobook-Skin
 *
 * Author: Benutzer:Nightfly85
 */
(function($, mw) {

    function placeTab(text, url, title, isSelected) {
        var liClass = isSelected ? 'selected' : '',
            $liElement = $('<li id="ca-n-watchers" style="display:none" class="' + liClass +'" ><span><a title="' + title + '" href="' + url + '">' + text + '</a></span></li>');
        $('#ca-history').after($liElement);
        $liElement.slideDown();
    }

    var isInfoPage = (mw.config.get('wgAction') == 'info'),
        articleName = mw.util.wikiUrlencode(mw.config.get('wgPageName')),
        wikiBaseUrl = mw.config.get('wgServer') + mw.config.get('wgScriptPath'),
        infoUrl = wikiBaseUrl + '/index.php?action=info&title=' + articleName,
        apiUrl  = wikiBaseUrl + '/api.php?action=query&prop=info&inprop=watchers&format=xml&titles=' + articleName;

    if(isInfoPage) {
        // The info tab is selected, so highlight the tab and forget the ajax stuff
        placeTab('Informationen', infoUrl, 'Seiteninformationen', true);
    } else {
        if(false === mw.config.get('wgIsArticle') ) {
            return; // Generated page 
        }
        $.ajax({ url: apiUrl }).done(function(xmlData) {
            var numViewer = $(xmlData).find('page').attr('watchers'),
                numViewerText  = (numViewer > 0) ? '<strong>' + numViewer + '</strong>' : 'Kaum';
            placeTab(numViewerText + ' Beobachter', infoUrl, 'Seiteninformationen anzeigen lassen', false);

        });
    }
})(jQuery, mediaWiki);