MediaWiki:Common.js

Aus Rettungsdienst-Wiki
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
/* Das folgende JavaScript wird für alle Benutzer geladen. */

// Neueste Beiträge (3 neue Seiten) in die linke Sidebar einfügen – skin-sicher
$.when( mw.loader.using( [ 'mediawiki.util', 'mediawiki.api' ] ), $.ready ).then( function () {

  // Wohin einhängen? 'p-tb' (Werkzeuge) gibt es in Vector/Timeless/MonoBook fast immer.
  var anchorId = document.getElementById('p-tb') ? '#p-tb' : '#p-navigation';

  // Eigene Portlet-Box anlegen (Skin entscheidet über genaue Darstellung)
  var portletId = 'p-newpages';
  var portletEl = mw.util.addPortlet( portletId, 'Neueste Beiträge', anchorId );
  if ( !portletEl ) {
    // Notfall: Wenn auch das nicht geht, gar nicht weitermachen
    return;
  }

  var api = new mw.Api();
  api.get({
    action: 'query',
    list: 'recentchanges',
    rctype: 'new',
    rcprop: 'title|timestamp',
    rcnamespace: 0,   // Hauptnamensraum (Artikel)
    rcshow: '!bot',   // Bots ausblenden
    rclimit: 3,
    format: 'json'
  }).done( function (data) {
    var items = (data.query && data.query.recentchanges) || [];
    if ( items.length === 0 ) {
      mw.util.addPortletLink( portletId, '#', 'Keine neuen Seiten' );
      return;
    }
    items.forEach( function (rc) {
      var href = mw.util.getUrl( rc.title );
      var tip  = new Date( rc.timestamp ).toLocaleString();
      mw.util.addPortletLink( portletId, href, rc.title, null, tip );
    } );
  }).fail( function () {
    mw.util.addPortletLink( portletId, '#', 'Fehler beim Laden' );
  } );
});