HINWEIS! Das Helmstedt-Wiki befindet sich aus Zeitgründen im Nur-Lesen-Modus – Änderungswünsche einfach per E-Mail senden und geduldig sein.

MediaWiki:Common.js: Unterschied zwischen den Versionen

aus Helmstedt-Wiki, der freien Enzyklopädie über den Landkreis Helmstedt
Zur Navigation springen Zur Suche springen
(Änderung 3542 von Admin wurde rückgängig gemacht.)
Keine Bearbeitungszusammenfassung
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */


//=============================================================
/**
//*** Configuration for "star" logo in front of interwiki links to Featured Articles
* Sortierung von Umlauten und ß auch ohne [[Vorlage:SortKey]] ermöglichen
//*** and green symbol in front of interwiki links to Good Articles
* For jquery.tablesorter.js
*/
mw.config.set( 'tableSorterCollation', {'Ä':'A', 'Ö':'O', 'Ü':'U', 'ä':'a', 'ö':'o', 'ü':'u', 'ß':'ss'} );


/** set to false in Special:Mypage/monobook.js to switch off this "feature" */
/**
var linkFA_enabled = true;
  * load the Edittools on [[Special:Upload]] and prefill the summary textarea
 
* Load pages: [[MediaWiki:Gadget-uploadtools.js]]
/** description that is displayed when cursor hovers above FA interwiki links */
*/
var linkFA_description = "Dieser Artikel wurde als exzellent bewertet.";
if (mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Upload') {
var linkGA_description = "Dieser Artikel wurde als lesenswert bewertet.";
mw.loader.load('ext.gadget.uploadtools');
 
}
// linkFA_bullet/linkGA_bullet and linkFA_style/linkGA_Style werden nur für cologneblue, nostalgia and standard verwendet,
// für monobook, modern und simple siehe [[MediaWiki:Common.css]], vector hat in [[MediaWiki:Vector.css] eigene Definitionen
 
/** image to use instead of the standard bullet (for cologneblue, nostalgia and standard */
var linkFA_bullet = "http://upload.wikimedia.org/wikipedia/commons/d/d0/Monobook-bullet-star-transparent.png";
var linkGA_bullet = "http://upload.wikimedia.org/wikipedia/commons/a/a1/Monobook-bullet-star-gray.png";
 
/** style to use for the linkFA_bullet/LinkGA_bullet img */
var linkFA_style = "margin-right: 0.2em;";
var linkGA_style = "margin-right: 0.2em;";


/**
/**
  * star logo for featured articles in other languages,
  * Nachrichten aus [[MediaWiki:watchlist-summary]] auf der Beobachtungliste ausblenden
  * see Template:Link_FA / Template:Link_GA and MediaWiki:Common.css
  * Load page: [[MediaWiki:Common.js/watchlist.js]]
  */
  */
addOnloadHook(function() {
if (mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Watchlist') {
    // early exit when disabled
mw.loader.load('//de.wikipedia.org/w/index.php?title=MediaWiki:Common.js/watchlist.js&action=raw&ctype=text/javascript');
    if (!linkFA_enabled) return;
}
 
    // skins that can be handled the CSS class way
    if (skin == "monobook" || skin == "simple" || skin == "modern" || skin== "vector" ) {
        linkFA_CSS();
    }
    else if (skin == "cologneblue" || skin == "nostalgia" || skin == "standard") {
        linkFA_decorate();
    }
 
    /** skin == "monobook" || skin == "simple" || skin="modern" || skin== "vector"*/
    function linkFA_CSS() {
        // links are to replaced in p-lang only
        var pLang = document.getElementById("p-lang");
        if (!pLang) return;
        var lis = pLang.getElementsByTagName("li");
        for (var i = 0; i < lis.length; i++) {
            var li = lis[i];
            // only links with a corresponding Link_FA template are interesting
            if (document.getElementById(li.className + "-fa")) {
              li.className += " FA";        // additional class so the template can be hidden with CSS
              li.title = linkFA_description; // change title
              continue;
            }
            if (document.getElementById(li.className + "-ga")) {
              li.className += " GA";        // additional class so the template can be hidden with CSS
              li.title = linkGA_description; // change title
              continue;
            }
        }
    }
 
    /** skin == "cologneblue" || skin == "nostalgia" || skin == "standard" */
    function linkFA_decorate() {
        // these root elements can contain FA-/GA-links
        var rootIds = new Array("topbar", "footer");
        for (var i=0; i<rootIds.length; i++) {
            var root    = document.getElementById(rootIds[i]);
            if (!root)  continue;
 
            // if the root exists, try to decorate all the links within
            var links  = root.getElementsByTagName("a");
            for (var j=0; j<links.length; j++) {
                decorate(links[j], "-fa", linkFA_bullet, linkFA_description, linkFA_style);
                decorate(links[j], "-ga", linkGA_bullet, linkGA_description, linkGA_style);
            }
        }
    }
 
    /** id necessary, modify a link to show the FA- or GA-star (older) */
    function decorate(link, idSuffix, bullet, description, style) {
        var lang    = link.hostname.split(".")[0];
        var fa      = document.getElementById("interwiki-" + lang + idSuffix);
        if (!fa)    return;
       
        // build an image-node for the FA-star
        var img = document.createElement("img");
        img.setAttribute("src",    bullet);
        img.setAttribute("alt",    description);
        img.setAttribute("style",  style);
        // decorate the link with the image
        link.appendChild(img);
        link.appendChild(link.removeChild(link.firstChild));
        link.setAttribute("title", description);
    }
});


/*
/*
## ProjektLinks ##
## ProjektLinks ##
by Skript von [[user:Merlissimo]] (Idee basierend auf http://de.wiktionary.org/wiki/MediaWiki:Common.js von [[User:Pathoschild]] und [[wikt:de:User:Melancholie]])
by Skript von [[user:Merlissimo]] (Idee basierend auf http://de.wiktionary.org/wiki/MediaWiki:Common.js von [[User:Pathoschild]] und [[wikt:de:User:Melancholie]])
erzeugt Sitebar-Interwiki zu Schwesterprojekten aufgrund von Vorlage {{InterProjekt}}
erzeugt Sitebar-Interwiki zu Schwesterprojekten aufgrund von Vorlage [[Vorlage:InterProjekt]]
siehe auch Feature-Request [[bugzilla:708]]
siehe auch Feature-Request [[bugzilla:708]]
*/
*/
addOnloadHook(function() {
if( mw.config.get( 'wgNamespaceNumber' ) > 0 ) {
     var iProject = document.getElementById("interProject");
  mw.loader.using( [ 'mediawiki.util' ], function() { $( function() {
     if(!iProject) return;
     var iProject = $( '#interProject' );
     var sistersibling = document.getElementById("p-navigation");
     if( !iProject.length ) {
     if(!sistersibling) return;
        return;
    }
     var sistersibling = $( '#p-lang' );
    if( !sistersibling.length ) {
        sistersibling = $( '#p-tb' );
    }
     if( !sistersibling.length ) {
        return;
    }
     //Link auf Parennode des Portletmenues
     //Link auf Parennode des Portletmenues
     var sisterparent = sistersibling.parentNode;
     var sisterparent = sistersibling.parent();


     //Erzeuge neues Portletmenue
     //Erzeuge neues Portletmenue
     var sisterprojectnav = document.createElement("div");
     var sisterprojectnav = $( document.createElement( 'div' ) );
     sisterprojectnav.id = "p-sisterprojects";
     sisterprojectnav.attr( 'id', 'p-sisterprojects' );
     sisterprojectnav.className = sistersibling.className
     sisterprojectnav.attr( 'class', sistersibling.attr( 'class' ) );
     sisterprojectnav.innerHTML = '<h5>'+document.getElementById("sisterProjects").firstChild.innerHTML+'</h5><div><ul></ul></div>';
     var header = $( document.createElement( 'h3' ) );
     var sistersiblingsub = sistersibling.getElementsByTagName("div")[0];
    header.text( $( '#sisterProjects:first' ).text() );
     if(sistersiblingsub){
    sisterprojectnav.append( header );
         sisterprojectnav.childNodes[1].className = sistersiblingsub.className;
    var portletDiv = $( document.createElement( 'div' ) );
     var sistersiblingsub = sistersibling.find( 'div:first' );
     if( sistersiblingsub.length ) {
         portletDiv.attr( 'class', sistersiblingsub.attr( 'class' ) );
     } else {
     } else {
         sisterprojectnav.childNodes[1].className = "pBody";
         portletDiv.attr( 'class', 'pBody' );
     }
     }
    sisterprojectnav.append( portletDiv );


     //Wenn möglich vor den Interwikis einfügen
     //Wenn möglich vor den Interwikis einfügen
     var sisternext = document.getElementById("p-lang");
     if ( sisterparent.has( '#p-lang' ).length ) {
    if ( sisternext && sisternext.parentNode == sisterparent ){
         sisterprojectnav.insertBefore( '#p-lang' );
         sisterparent.insertBefore( sisterprojectnav, sisternext );
     } else {
     }else{
         sisterparent.append( sisterprojectnav );
         sisterparent.appendChild(sisterprojectnav);
     }
     }


     //Schwesterlinks ermitteln und einfügen
     //Schwesterlinks ermitteln und einfügen
     var sisterlinks = iProject.getElementsByTagName("a");
     iProject.find( 'a' ).each( function() {
    for (var i = 0; i < sisterlinks.length; i++) {
        $this = $( this );
         var sistername = sisterlinks[i].firstChild.nodeValue
         var sistername = $this.text();
         addPortletLink('p-sisterprojects', sisterlinks[i].getAttribute("href") + '?uselang=' + wgUserLanguage, sistername, "sister-"+ sistername, sistername);
         mw.util.addPortletLink(
     }
            'p-sisterprojects',
});
            $this.attr( 'href' ) + '?uselang=' + mw.util.rawurlencode( mw.config.get( 'wgUserLanguage' ) ),
 
            sistername,
//==============================================================================
            'sister-' + sistername,
//*** Fügt einen Link "Alle Sprachen" auf der Hauptseite unter die Sprachverweise hinzu
            sistername
 
        );
addOnloadHook(function() {
     });
    // only on the main page
  })});
    if ( wgPageName != wgMainPageTitle) return;
 
    try {
        var completelist = addPortletLink("p-lang", "http://de.wikipedia.org/wiki/Wikipedia:Sprachen", "Alle Sprachen", "interwiki-completelist", "Alle Sprachen");
        completelist.className='interwiki-completelist';
    } catch(e) {
        // lets just ignore what's happened
    }
});
 
//================================================================================
//*** force the loading of another JavaScript file
// Deprecated function, function alias kept for backward compatibility
 
function includePage(name) {
    return importScript(name);
}
}


//==============================================================================
/**
//*** Fügt der Suche weitere Suchengines hinzu (kopiert aus eswp)
* Fügt einen Link "Alle Sprachen" auf der Hauptseite unter die Sprachverweise hinzu
// 2009-07-02: Auskommentiert, da das neue Suchformular anders funktioniert. Raymond.
*/
// 2009-08-03: code jetzt reparierter . Pmartin
if( mw.config.get( 'wgIsMainPage' ) ) {
// 2009-08-03: Nochmals auskommentiert, siehe Diskussionsseite
mw.loader.using( [ 'mediawiki.util' ], function() { $( function () {
//if (wgCanonicalSpecialPageName == "Search") {
  mw.util.addPortletLink(
//   importScript("MediaWiki:SpezialSuche.js");
  'p-lang',
//}
   mw.util.getUrl( 'Wikipedia:Sprachen' ),
 
  'Alle Sprachen',
//================================================================================
  'interwiki-completelist',
//*** import Onlyifuploading-functions
  'Liste aller Sprachversionen von Wikipedia'
// SEE ALSO [[MediaWiki:Onlyifuploading.js]]
  );
 
})});
if (wgCanonicalSpecialPageName == "Hochladen") {
    importScript("MediaWiki:Onlyifuploading.js");
    importScript("MediaWiki:Onlyifediting.js");
}
}


//================================================================================
/**
//*** import watchlistmessage-functions
* force the loading of another JavaScript file
// Nachrichten auf der Beobachtungliste ausblenden
* Deprecated function, function alias kept for backward compatibility
// SEE ALSO [[MediaWiki:Common.js/watchlist.js]]
* mw.log.deprecate since 08.11.2013
 
*/
if (wgCanonicalSpecialPageName == "Watchlist") {
mw.log.deprecate( window, 'includePage', importScript, 'includePage ist veraltet, verwende stattdessen importScript' );
    importScript("MediaWiki:Common.js/watchlist.js");
}


//================================================================================
//================================================================================
//*** Dynamic Navigation Bars
//*** Dynamic Navigation Bars
// set up the words in your language
var NavigationBarHide = 'Einklappen';
var NavigationBarShow = 'Ausklappen';


// set up max count of Navigation Bars on page,
// set up max count of Navigation Bars on page,
// if there are more, all will be hidden
// if there are more, all will be hidden
// NavigationBarShowDefault = 0; // all bars will be hidden
// mw.user.options.set( 'NavigationBarShowDefault', 0 ); // all bars will be hidden
// NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
// mw.user.options.set( 'NavigationBarShowDefault', 1 ); // on pages with more than 1 bar all bars will be hidden
if (typeof NavigationBarShowDefault == 'undefined' ) {
    var NavigationBarShowDefault = 1;
}


// adds show/hide-button to navigation bars
// adds show/hide-button to navigation bars
addOnloadHook(function() {
// using 'jquery.makeCollapsible': for messages
    // shows and hides content and picture (if available) of navigation bars
// using 'user', 'mediawiki.user', 'user.options': wait for overrides in user.js
    // Parameters:
mw.loader.using( [ 'jquery.makeCollapsible', 'user', 'mediawiki.user', 'user.options' ], function() { mw.hook( 'wikipage.content' ).add( function( $content ) {
    //    indexNavigationBar: the index of navigation bar to be toggled
// allow setting NavigationBarShowDefault
    function toggleNavigationBar(NavToggle, NavFrame)
var showDefaultCount = mw.user.options.get( 'NavigationBarShowDefault',
    {
typeof NavigationBarShowDefault !== 'undefined' ? NavigationBarShowDefault : 1 );
      if (!NavFrame || !NavToggle) {
// allow user overrides for b/c
          return false;
var textHide = typeof NavigationBarHide === 'string' ? NavigationBarHide : mw.msg( 'collapsible-collapse' );
      }
var textShow = typeof NavigationBarShow === 'string' ? NavigationBarShow : mw.msg( 'collapsible-expand' );
 
// shows and hides content and picture (if available) of navigation bars
// Parameters:
//    indexNavigationBar: the index of navigation bar to be toggled
function toggleNavigationBar(NavToggle, NavFrame)
{
if (!NavFrame || !NavToggle) {
return false;
}
 
// if shown now
if (NavToggle.firstChild.data === textHide) {
for (
var NavChild = NavFrame.firstChild;
NavChild !== null;
NavChild = NavChild.nextSibling
) {
if (NavChild.className === 'NavPic' || NavChild.className === 'NavContent') {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = textShow;
 
// if hidden now
} else if (NavToggle.firstChild.data === textShow) {
for (
var NavChild = NavFrame.firstChild;
NavChild !== null;
NavChild = NavChild.nextSibling
) {
if (NavChild.className === 'NavPic' || NavChild.className === 'NavContent') {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = textHide;
}
}


      // if shown now
function toggleNavigationBarFunction(NavToggle, NavFrame) {
      if (NavToggle.firstChild.data == NavigationBarHide) {
return function() {
          for (
toggleNavigationBar(NavToggle, NavFrame);
                  var NavChild = NavFrame.firstChild;
return false;
                  NavChild != null;
};
                  NavChild = NavChild.nextSibling
}
              ) {
// iterate over all NavFrames
              if (NavChild.className == 'NavPic') {
var NavFrames = $content.find( 'div.NavFrame' );
                  NavChild.style.display = 'none';
              }
              if (NavChild.className == 'NavContent') {
                  NavChild.style.display = 'none';
              }
              if (NavChild.className == 'NavToggle') {
                  NavChild.firstChild.data = NavigationBarShow;
              }
          }


      // if hidden now
// if more Navigation Bars found and not template namespace than Default: hide all
      } else if (NavToggle.firstChild.data == NavigationBarShow) {
var initiallyToggle = showDefaultCount < NavFrames.length && mw.config.get( 'wgNamespaceNumber' ) !== 10;
          for (
for (var i=0; i<NavFrames.length; i++) {
                  var NavChild = NavFrame.firstChild;
var NavFrame = NavFrames[i];
                  NavChild != null;
var NavToggle = document.createElement("a");
                  NavChild = NavChild.nextSibling
NavToggle.className = 'NavToggle';
              ) {
NavToggle.setAttribute('href', '#');
              if (NavChild.className == 'NavPic') {
                  NavChild.style.display = 'block';
              }
              if (NavChild.className == 'NavContent') {
                  NavChild.style.display = 'block';
              }
              if (NavChild.className == 'NavToggle') {
                  NavChild.firstChild.data = NavigationBarHide;
              }
          }
      }
    }


    function toggleNavigationBarFunction(NavToggle, NavFrame) {
var NavToggleText = document.createTextNode(textHide);
        return function() {
NavToggle.appendChild(NavToggleText);
            toggleNavigationBar(NavToggle, NavFrame);
            return false;
        };
    }
    // iterate over all NavFrames
    var content    = document.getElementById("content") || document.getElementById("mw_content");
    var NavFrames = getElementsByClassName(content, "div", "NavFrame");
    // if more Navigation Bars found and not template namespace than Default: hide all
    var initiallyToggle    = NavigationBarShowDefault < NavFrames.length && wgNamespaceNumber != 10;
    for (var i=0;  i<NavFrames.length; i++) {
        var NavFrame = NavFrames[i];
        var NavToggle = document.createElement("a");
        NavToggle.className = 'NavToggle';
        NavToggle.setAttribute('href', '#');
        var NavToggleText = document.createTextNode(NavigationBarHide);
        NavToggle.appendChild(NavToggleText);
        // add NavToggle-Button as first div-element
        // in < div class="NavFrame" >
        NavFrame.insertBefore(NavToggle, NavFrame.firstChild);
       
        NavToggle.onclick = toggleNavigationBarFunction(NavToggle, NavFrame);
        if (initiallyToggle) {
            toggleNavigationBar(NavToggle, NavFrame);
        }
    }
});


//================================================================================
// add NavToggle-Button as first div-element
//*** import Onlyifediting-functions
// in < div class="NavFrame" >
// SEE ALSO [[MediaWiki:Onlyifediting.js]]
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);


if ( wgAction == 'edit' || wgAction == 'submit' ) {
NavToggle.onclick = toggleNavigationBarFunction(NavToggle, NavFrame);
    importScript("MediaWiki:Onlyifediting.js");
if (initiallyToggle) {
}
toggleNavigationBar(NavToggle, NavFrame);
} else { // make sure that 'display' is always set for every NavFrame
for (
var NavChild = NavFrame.firstChild;
NavChild !== null;
NavChild = NavChild.nextSibling
) {
if (NavChild.className === 'NavPic' || NavChild.className === 'NavContent') {
NavChild.style.display = 'block';
}
}
}
}
})});


//================================================================================
//================================================================================


/** Skript für Vorlage:Galerie */
/** Skript für [[Vorlage:Galerie]] */
addOnloadHook(function() {
$( function() {
   if (document.URL.match(/printable/g)) return;
   if (document.URL.match(/printable/g)) return;


Zeile 338: Zeile 249:
         commentText = (j+1) + "/" + units.length;
         commentText = (j+1) + "/" + units.length;
         comment = document.createElement("tt").appendChild(document.createTextNode("("+ commentText + ")"));
         comment = document.createElement("tt").appendChild(document.createTextNode("("+ commentText + ")"));
       }
       } else {
      else {
         commentText = currentimage.getAttribute("title");
         commentText = currentimage.getAttribute("title");
         comment = document.createElement("span").appendChild(document.createTextNode(commentText));
         comment = document.createElement("span").appendChild(document.createTextNode(commentText));
Zeile 349: Zeile 259:
       var imghead = document.createElement("div");
       var imghead = document.createElement("div");
       rightlink = document.createElement("a");
       rightlink = document.createElement("a");
       if (j != 0) {
       if (j !== 0) {
         leftlink.href = "#";
         leftlink.href = "#";
         leftlink.onclick = toggleImageFunction(i, j, j-1);
         leftlink.onclick = toggleImageFunction(i, j, j-1);
         leftlink.appendChild(document.createTextNode("◀"));
         leftlink.appendChild(document.createTextNode("◀"));
       }
       }
       if (j != units.length - 1) {
       if (j !== units.length - 1) {
         rightlink.href = "#";
         rightlink.href = "#";
         rightlink.onclick = toggleImageFunction(i, j, j+1);
         rightlink.onclick = toggleImageFunction(i, j, j+1);
Zeile 369: Zeile 279:
         currentimage.insertBefore(imghead,currentimage.childNodes[0]);
         currentimage.insertBefore(imghead,currentimage.childNodes[0]);
       }
       }
       if (j != 0) {
       if (j !== 0) {
         currentimage.style["display"] = "none";
         currentimage.style["display"] = "none";
       }
       }
Zeile 376: Zeile 286:
});
});


/* admin ui changes */
/**
* Fügt eine Betreffzeile auf leeren Artikel-Diskussionsseiten ein
*/
if( mw.config.get( 'wgNamespaceNumber' ) === 0 || mw.config.get( 'wgNamespaceNumber' ) === 1 ) {
$(function() {
  $( '#ca-talk.new a' ).attr( 'href', function( index, attr ) {
  return attr + '&section=new';
  });
});
}
 
/**
* Fügt bei SVG-Grafiken Links zu gerenderten PNGs in verschiedenen Breiten hinzu
*/
if (mw.config.get( 'wgNamespaceNumber' ) === 6) {
$( function() {
  var file = $( '#file' ); // might fail if MediaWiki can't render the SVG
  if( file.length && mw.config.get( 'wgIsArticle' ) && mw.config.get( 'wgTitle' ).match( /\.svg$/i ) ) {
  var thumbsrc = file.find( 'img' ).attr( 'src' );
  if( !thumbsrc ) {
    return;
  }
 
  var svgAltSize = function( w, title ) {
    var path = thumbsrc.replace( /\/\d+(px-[^\/]+$)/, "/" + w + "$1" );
    var a = $( document.createElement("a") );
    a.attr( 'href', path );
    a.text( title );
    return a;
  };


if( window.wgUserGroups ) {
  var p = $( document.createElement("p") );
  for(var i = 0; i < wgUserGroups.length; ++i) {
  p.addClass( "SVGThumbs" );
     if(wgUserGroups[i] === "sysop") {
  p.append( document.createTextNode( "Aus SVG automatisch erzeugte PNG-Grafiken in verschiedenen Auflösungen"+": " ) );
  // importScript("MediaWiki:Group-sysop.js");  kann bei Bedarf ent-auskommentiert werden
  var l = [ 200, 500, 1000, 2000 ];
      importStylesheet("MediaWiki:Group-sysop.css");
  for( var i = 0; i < l.length; i++ ) {
      break;
     if( i !== 0 ) {
    p.append( document.createTextNode( ", " ) );
     }
     }
    p.append( svgAltSize( l[i], l[i] + "px" ) );
  }
  p.append( document.createTextNode( "." ) );
  $( file.parent() ).find( 'div.fullMedia' ).append( p );
   }
   }
});
}
}


//==============================================================================
/**
//*** Fügt eine Betreffzeile auf leeren Diskussionsseiten ein
* Ändere den Spenden-Link im Sidebar für Besucher aus Deutschland
 
*/
addOnloadHook(function() {
$( function() {
        if(wgNamespaceNumber != 0 && wgNamespaceNumber != 1) return;
if ( typeof( Geo ) === "object" && Geo.country === 'DE' && mw.config.get( 'wgUserLanguage' ) === 'de' ) {
    var tab = document.getElementById( 'ca-talk' );
  var baseUrl = 'https://spenden.wikimedia.de/';
    if( !tab || tab.className != 'new' ) return;
  var queryString = $.param({
    var link = tab.getElementsByTagName( 'a' )[0];
      'piwik_campaign': 'de.wikipedia.org',
    if( !link ) return;
      'piwik_kwd': 'sidebar',
    link.href += '&section=new';
      'language': mw.config.get( 'wgUserLanguage' ),
      'country': Geo.country
  });
  $("#n-sitesupport a").attr("href", baseUrl + '?' + queryString);
}
});
});


/**
* erzeuge einen "Neuen Abschnitt"-Link an der letzten Überschrift
*/
mw.loader.using( [ 'jquery.accessKeyLabel' ], function() { $( function() {
var newSectionLink = $( '#ca-addsection a' );
if( newSectionLink.length ) {
  var link = newSectionLink.clone(); //create a copy
  //avoid duplicate accesskey
  link.removeAttr( 'accesskey' ).updateTooltipAccessKeys();
  //add it within the brackets
  var lastEditsectionLink = $( 'span.mw-editsection:last a:last' );
  lastEditsectionLink.after( link );
  lastEditsectionLink.after( ' | ' ); //see [[MediaWiki:Pipe-separator]]
}
})});


// Lokaler Bilddiskussionsseitenlink eines Commonsbildes verweist nach Commons
/**
 
  * Entferne [[Vorlage:Anker]] aus der Zusammenfassungszeile,
if (wgNamespaceNumber === 6) addOnloadHook( function() {
  * damit diese beim generieren der Auto-Zusammenfassung nicht das Linkziel mit beeinflusst
    if (window.keepLocalFileTabs ) return;
    if (document.getElementById( 'ca-history')) return; //Lokale Dateibeschreibung vorhanden?
    if (!getElementsByClassName(document, 'div', 'sharedUploadNotice')[0]) return; //Nur bei Commons-Bildern
    var path = wgServer.match(/^https/)
        ? 'https://secure.wikimedia.org/wikipedia/commons/wiki/'
        : 'http://commons.wikimedia.org/wiki/';
 
    // Ändere Link auf Diskussionsseite
    var talk = document.getElementById('ca-talk');
    if (talk && talk.className.match(/(^| )new( |$)/)) {
        var link        = talk.getElementsByTagName('a')[0];
        link.href      = path + 'File_talk:' + encodeURIComponent(wgTitle) + '?uselang=' + wgUserLanguage;
        link.className  += ' commonstab';
    }
   
    // Ändere Bearbeiten-Link
    var edit    = document.getElementById('ca-edit') || document.getElementById('ca-viewsource');
    if (edit) {
        var link        = edit.getElementsByTagName('a')[0];
        link.href      = path + 'File:' + encodeURIComponent(wgTitle) + '?uselang=' + wgUserLanguage + '&action=edit';
        link.className  += ' commonstab';
        link.firstChild.nodeValue = 'Bearbeiten';
    }
});
 
/** Fügt bei SVG-Grafiken Links zu gerenderten PNGs in verschiedenen Breiten hinzu */
function SVGThumbs() {
    var file = document.getElementById("file"); // might fail if MediaWiki can't render the SVG
    if (file && wgIsArticle && wgTitle.match(/\.svg$/i)) {
        var thumbu = file.getElementsByTagName('IMG')[0].src;
        if(!thumbu) return;
        function svgAltSize( w, title) {
            var path = thumbu.replace(/\/\d+(px-[^\/]+$)/, "/" + w + "$1");
            var a = document.createElement("A");
            a.setAttribute("href", path);
            a.appendChild(document.createTextNode(title));
            return a;
        }
        var p = document.createElement("p");
        p.className = "SVGThumbs";
        p.appendChild(document.createTextNode("Aus SVG automatisch erzeugte PNG-Grafiken in verschiedenen Auflösungen"+": "));
        var l = [200, 500, 1000, 2000];
                for( var i = 0; i < l.length; i++ ) {
            p.appendChild(svgAltSize( l[i], l[i] + "px"));
            if( i < l.length-1 ) p.appendChild(document.createTextNode(", "));
                }
        p.appendChild(document.createTextNode("."));
        var info = getElementsByClassName( file.parentNode, 'div', 'fullMedia' )[0];
        if( info ) info.appendChild(p);
    }
};
addOnloadHook( SVGThumbs );
 
// <noscript>-Emulation via <div class="noscript"></div>
appendCSS('.noscript {display:none;}');
 
/*
  * Description: Stay on the secure server as much as possible
  */
  */
if(wgServer == 'https://secure.wikimedia.org') {
if ( mw.config.get( 'wgAction' ) === 'edit' ) {
    importScript( 'MediaWiki:Common.js/secure.js');
$( function() {
}
   $( '#wpSummary' ).val( function( i, val ) {
 
  //Nur aktiv werden, wenn es auch eine Autozusammenfassung gibt
 
  if( val.length <= 2 || val.substring( 0, 2 ) !== '/*' ) {
// Verwendung von OpenStreetMap in Wikipedia.
     return val;
// (c) 2008 by Magnus Manske
  }
// Released under GPL
  return val.replace( /\{\{[\s_]*:?[\s_]*(?:(?:Template|Vorlage)[\s_]*:[\s_]*)?Anker[\s_]*\|[^}]*\}\}\s*/gi, '' );
 
   });
function openStreetMapInit() {
});
   var c = document.getElementById('coordinates');
  if (!c) return;
 
  var a = c.getElementsByTagName('a');
  var geohack = false;
  for (var i = 0; i < a.length; i++) {
    var h = a[i].href;
    if (!h.match(/geohack/)) continue;
     geohack = true;
    break;
  }
  if (!geohack) return;
 
  var na = document.createElement('a');
  na.href = '#';
  na.onclick = openStreetMapToggle ;
  na.appendChild(document.createTextNode('Karte'));
  c.appendChild(document.createTextNode(' ('));
   c.appendChild(na);
  c.appendChild(document.createTextNode(')    '));
}
}


function openStreetMapToggle() {
<!-- Global site tag (gtag.js) - Google Analytics -->
  var c = document.getElementById('coordinates');
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-3478673-1"></script>
  if (!c) return;
<script>
  var cs = document.getElementById('contentSub');
  window.dataLayer = window.dataLayer || [];
  var osm = document.getElementById('openstreetmap');
   function gtag(){dataLayer.push(arguments);}
 
   gtag('js', new Date());
  if (cs && osm) {
    if (osm.style.display == 'none') {
      osm.style.display = 'block';
    } else {
      osm.style.display = 'none';
    }
    return false;
  }
 
  var found_link = false;
  var a = c.getElementsByTagName('a');
   var h;
  for (var i = 0; i < a.length; i++) {
    h = a[i].href;
    if (!h.match(/geohack/)) continue;
    found_link = true;
    break;
  }
   if (!found_link) return; // No geohack link found
 
  h = h.split('params=')[1];
 
  var i = document.createElement('iframe');
  var url = 'http://toolserver.org/~kolossos/openlayers/kml-on-ol.php?lang=de&uselang=' + wgUserLanguage + '&params=' + h;
 
  i.id = 'openstreetmap';
  i.style.width = '100%';
  i.style.height = '350px';
  i.style.clear = 'both';
  i.src = url;
  cs.appendChild(i);
  return false;
}


addOnloadHook(openStreetMapInit);
  gtag('config', 'UA-3478673-1');
</script>

Aktuelle Version vom 9. April 2019, 19:51 Uhr

/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */

/**
 * Sortierung von Umlauten und ß auch ohne [[Vorlage:SortKey]] ermöglichen
 * For jquery.tablesorter.js
 */
mw.config.set( 'tableSorterCollation', {'Ä':'A', 'Ö':'O', 'Ü':'U', 'ä':'a', 'ö':'o', 'ü':'u', 'ß':'ss'} );

/**
 * load the Edittools on [[Special:Upload]] and prefill the summary textarea
 * Load pages: [[MediaWiki:Gadget-uploadtools.js]]
 */
if (mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Upload') {
 mw.loader.load('ext.gadget.uploadtools');
}

/**
 * Nachrichten aus [[MediaWiki:watchlist-summary]] auf der Beobachtungliste ausblenden
 * Load page: [[MediaWiki:Common.js/watchlist.js]]
 */
if (mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Watchlist') {
 mw.loader.load('//de.wikipedia.org/w/index.php?title=MediaWiki:Common.js/watchlist.js&action=raw&ctype=text/javascript');
}

/*
## ProjektLinks ##
by Skript von [[user:Merlissimo]] (Idee basierend auf http://de.wiktionary.org/wiki/MediaWiki:Common.js von [[User:Pathoschild]] und [[wikt:de:User:Melancholie]])
erzeugt Sitebar-Interwiki zu Schwesterprojekten aufgrund von Vorlage [[Vorlage:InterProjekt]]
siehe auch Feature-Request [[bugzilla:708]]
*/
if( mw.config.get( 'wgNamespaceNumber' ) > 0 ) {
  mw.loader.using( [ 'mediawiki.util' ], function() { $( function() {
    var iProject = $( '#interProject' );
    if( !iProject.length ) {
        return;
    }
    var sistersibling = $( '#p-lang' );
    if( !sistersibling.length ) {
        sistersibling = $( '#p-tb' );
    }
    if( !sistersibling.length ) {
        return;
    }
    //Link auf Parennode des Portletmenues
    var sisterparent = sistersibling.parent();

    //Erzeuge neues Portletmenue
    var sisterprojectnav = $( document.createElement( 'div' ) );
    sisterprojectnav.attr( 'id', 'p-sisterprojects' );
    sisterprojectnav.attr( 'class', sistersibling.attr( 'class' ) );
    var header = $( document.createElement( 'h3' ) );
    header.text( $( '#sisterProjects:first' ).text() );
    sisterprojectnav.append( header );
    var portletDiv = $( document.createElement( 'div' ) );
    var sistersiblingsub = sistersibling.find( 'div:first' );
    if( sistersiblingsub.length ) {
        portletDiv.attr( 'class', sistersiblingsub.attr( 'class' ) );
    } else {
        portletDiv.attr( 'class', 'pBody' );
    }
    sisterprojectnav.append( portletDiv );

    //Wenn möglich vor den Interwikis einfügen
    if ( sisterparent.has( '#p-lang' ).length ) {
        sisterprojectnav.insertBefore( '#p-lang' );
    } else {
        sisterparent.append( sisterprojectnav );
    }

    //Schwesterlinks ermitteln und einfügen
    iProject.find( 'a' ).each( function() {
        $this = $( this );
        var sistername = $this.text();
        mw.util.addPortletLink(
            'p-sisterprojects',
            $this.attr( 'href' ) + '?uselang=' + mw.util.rawurlencode( mw.config.get( 'wgUserLanguage' ) ),
            sistername,
            'sister-' + sistername,
            sistername
        );
    });
  })});
}

/**
 * Fügt einen Link "Alle Sprachen" auf der Hauptseite unter die Sprachverweise hinzu
 */
if( mw.config.get( 'wgIsMainPage' ) ) {
 mw.loader.using( [ 'mediawiki.util' ], function() { $( function () {
  mw.util.addPortletLink(
   'p-lang',
   mw.util.getUrl( 'Wikipedia:Sprachen' ),
   'Alle Sprachen',
   'interwiki-completelist',
   'Liste aller Sprachversionen von Wikipedia'
  );
 })});
}

/**
 * force the loading of another JavaScript file
 * Deprecated function, function alias kept for backward compatibility
 * mw.log.deprecate since 08.11.2013
 */
mw.log.deprecate( window, 'includePage', importScript, 'includePage ist veraltet, verwende stattdessen importScript' );

//================================================================================
//*** Dynamic Navigation Bars

// set up max count of Navigation Bars on page,
// if there are more, all will be hidden
// mw.user.options.set( 'NavigationBarShowDefault', 0 ); // all bars will be hidden
// mw.user.options.set( 'NavigationBarShowDefault', 1 ); // on pages with more than 1 bar all bars will be hidden

// adds show/hide-button to navigation bars
// using 'jquery.makeCollapsible': for messages
// using 'user', 'mediawiki.user', 'user.options': wait for overrides in user.js
mw.loader.using( [ 'jquery.makeCollapsible', 'user', 'mediawiki.user', 'user.options' ], function() { mw.hook( 'wikipage.content' ).add( function( $content ) {
	// allow setting NavigationBarShowDefault
	var showDefaultCount = mw.user.options.get( 'NavigationBarShowDefault',
		typeof NavigationBarShowDefault !== 'undefined' ? NavigationBarShowDefault : 1 );
	// allow user overrides for b/c
	var textHide = typeof NavigationBarHide === 'string' ? NavigationBarHide : mw.msg( 'collapsible-collapse' );
	var textShow = typeof NavigationBarShow === 'string' ? NavigationBarShow : mw.msg( 'collapsible-expand' );

	// shows and hides content and picture (if available) of navigation bars
	// Parameters:
	//     indexNavigationBar: the index of navigation bar to be toggled
	function toggleNavigationBar(NavToggle, NavFrame)
	{
		if (!NavFrame || !NavToggle) {
			return false;
		}

		// if shown now
		if (NavToggle.firstChild.data === textHide) {
			for (
					var NavChild = NavFrame.firstChild;
					NavChild !== null;
					NavChild = NavChild.nextSibling
				) {
				if (NavChild.className === 'NavPic' || NavChild.className === 'NavContent') {
					NavChild.style.display = 'none';
				}
			}
			NavToggle.firstChild.data = textShow;

		// if hidden now
		} else if (NavToggle.firstChild.data === textShow) {
			for (
					var NavChild = NavFrame.firstChild;
					NavChild !== null;
					NavChild = NavChild.nextSibling
				) {
				if (NavChild.className === 'NavPic' || NavChild.className === 'NavContent') {
					NavChild.style.display = 'block';
				}
			}
			NavToggle.firstChild.data = textHide;
		}
	}

	function toggleNavigationBarFunction(NavToggle, NavFrame) {
		return function() {
			toggleNavigationBar(NavToggle, NavFrame);
			return false;
		};
	}
	// iterate over all NavFrames
	var NavFrames = $content.find( 'div.NavFrame' );

	// if more Navigation Bars found and not template namespace than Default: hide all
	var initiallyToggle	= showDefaultCount < NavFrames.length && mw.config.get( 'wgNamespaceNumber' ) !== 10;
	for (var i=0; i<NavFrames.length; i++) {
		var NavFrame = NavFrames[i];
		var NavToggle = document.createElement("a");
		NavToggle.className = 'NavToggle';
		NavToggle.setAttribute('href', '#');

		var NavToggleText = document.createTextNode(textHide);
		NavToggle.appendChild(NavToggleText);

		// add NavToggle-Button as first div-element
		// in < div class="NavFrame" >
		NavFrame.insertBefore(NavToggle, NavFrame.firstChild);

		NavToggle.onclick = toggleNavigationBarFunction(NavToggle, NavFrame);
		if (initiallyToggle) {
			toggleNavigationBar(NavToggle, NavFrame);
		} else { // make sure that 'display' is always set for every NavFrame
			for (
					var NavChild = NavFrame.firstChild;
					NavChild !== null;
					NavChild = NavChild.nextSibling
				) {
				if (NavChild.className === 'NavPic' || NavChild.className === 'NavContent') {
					NavChild.style.display = 'block';
				}
			}
		}
	}
})});

//================================================================================

/** Skript für [[Vorlage:Galerie]] */
$( function() {
  if (document.URL.match(/printable/g)) return;

  function toggleImageFunction(group,  remindex, shwindex) {
    return function() {
      document.getElementById("ImageGroupsGr" + group + "Im" + remindex).style["display"] = "none";
      document.getElementById("ImageGroupsGr" + group + "Im" + shwindex).style["display"] = "block";
      return false;
    };
  }

  var divs = document.getElementsByTagName("div");
  var i = 0, j = 0;
  var units, search;
  var currentimage;
  var UnitNode;
  for (i = 0; i < divs.length; i++) {
    if (divs[i].className !== "ImageGroup") { continue; }
    UnitNode = undefined;
    search = divs[i].getElementsByTagName("div");
    for (j = 0; j < search.length; j++) {
      if (search[j].className !== "ImageGroupUnits") { continue; }
      UnitNode=search[j];
      break;
    }
    if (UnitNode === undefined) { continue; }
    units = [];
    for (j = 0 ; j < UnitNode.childNodes.length ; j++ ) {
      var temp = UnitNode.childNodes[j];
      if (temp.className === "center") { units.push(temp); }
    }
    var rightlink = undefined;
    var commentText = undefined;
    for (j = 0; j < units.length; j++) {
      currentimage = units[j];
      currentimage.id = "ImageGroupsGr" + i + "Im" + j;
      var leftlink = document.createElement("a");
      if (commentText !== undefined) {
        leftlink.setAttribute("title", commentText);
      }
      var comment;
      if (typeof(currentimage.getAttribute("title")) !== "string") {
        commentText = (j+1) + "/" + units.length;
        comment = document.createElement("tt").appendChild(document.createTextNode("("+ commentText + ")"));
      } else {
        commentText = currentimage.getAttribute("title");
        comment = document.createElement("span").appendChild(document.createTextNode(commentText));
        currentimage.removeAttribute("title");
      }
      if(rightlink !== undefined) {
        rightlink.setAttribute("title", commentText);
      }
      var imghead = document.createElement("div");
      rightlink = document.createElement("a");
      if (j !== 0) {
        leftlink.href = "#";
        leftlink.onclick = toggleImageFunction(i, j, j-1);
        leftlink.appendChild(document.createTextNode("◀"));
      }
      if (j !== units.length - 1) {
        rightlink.href = "#";
        rightlink.onclick = toggleImageFunction(i, j, j+1);
        rightlink.appendChild(document.createTextNode("▶"));
      }
      imghead.style["fontSize"] = "110%";
      imghead.style["fontweight"] = "bold";
      imghead.appendChild(leftlink);
      imghead.appendChild(document.createTextNode("\xA0"));
      imghead.appendChild(comment);
      imghead.appendChild(document.createTextNode("\xA0"));
      imghead.appendChild(rightlink);
      if (units.length > 1) {
        currentimage.insertBefore(imghead,currentimage.childNodes[0]);
      }
      if (j !== 0) {
        currentimage.style["display"] = "none";
      }
    }
  }
});

/**
 * Fügt eine Betreffzeile auf leeren Artikel-Diskussionsseiten ein
 */
if( mw.config.get( 'wgNamespaceNumber' ) === 0 || mw.config.get( 'wgNamespaceNumber' ) === 1 ) {
 $(function() {
  $( '#ca-talk.new a' ).attr( 'href', function( index, attr ) {
   return attr + '&section=new';
  });
 });
}

/**
 * Fügt bei SVG-Grafiken Links zu gerenderten PNGs in verschiedenen Breiten hinzu
 */
if (mw.config.get( 'wgNamespaceNumber' ) === 6) {
 $( function() {
  var file = $( '#file' ); // might fail if MediaWiki can't render the SVG
  if( file.length && mw.config.get( 'wgIsArticle' ) && mw.config.get( 'wgTitle' ).match( /\.svg$/i ) ) {
   var thumbsrc = file.find( 'img' ).attr( 'src' );
   if( !thumbsrc ) {
    return;
   }

   var svgAltSize = function( w, title ) {
    var path = thumbsrc.replace( /\/\d+(px-[^\/]+$)/, "/" + w + "$1" );
    var a = $( document.createElement("a") );
    a.attr( 'href', path );
    a.text( title );
    return a;
   };

   var p = $( document.createElement("p") );
   p.addClass( "SVGThumbs" );
   p.append( document.createTextNode( "Aus SVG automatisch erzeugte PNG-Grafiken in verschiedenen Auflösungen"+": " ) );
   var l = [ 200, 500, 1000, 2000 ];
   for( var i = 0; i < l.length; i++ ) {
    if( i !== 0 ) {
     p.append( document.createTextNode( ", " ) );
    }
    p.append( svgAltSize( l[i], l[i] + "px" ) );
   }
   p.append( document.createTextNode( "." ) );
   $( file.parent() ).find( 'div.fullMedia' ).append( p );
  }
 });
}

/**
 * Ändere den Spenden-Link im Sidebar für Besucher aus Deutschland
 */
$( function() {
 if ( typeof( Geo ) === "object" && Geo.country === 'DE' && mw.config.get( 'wgUserLanguage' ) === 'de' ) {
  var baseUrl = 'https://spenden.wikimedia.de/';
  var queryString = $.param({
      'piwik_campaign': 'de.wikipedia.org',
      'piwik_kwd': 'sidebar',
      'language': mw.config.get( 'wgUserLanguage' ),
      'country': Geo.country
  });
  $("#n-sitesupport a").attr("href", baseUrl + '?' + queryString);
 }
});

/**
 * erzeuge einen "Neuen Abschnitt"-Link an der letzten Überschrift
 */
mw.loader.using( [ 'jquery.accessKeyLabel' ], function() { $( function() {
 var newSectionLink = $( '#ca-addsection a' );
 if( newSectionLink.length ) {
  var link = newSectionLink.clone(); //create a copy
  //avoid duplicate accesskey
  link.removeAttr( 'accesskey' ).updateTooltipAccessKeys();
  //add it within the brackets
  var lastEditsectionLink = $( 'span.mw-editsection:last a:last' );
  lastEditsectionLink.after( link );
  lastEditsectionLink.after( ' | ' ); //see [[MediaWiki:Pipe-separator]]
 }
})});

/**
 * Entferne [[Vorlage:Anker]] aus der Zusammenfassungszeile,
 * damit diese beim generieren der Auto-Zusammenfassung nicht das Linkziel mit beeinflusst
 */
if ( mw.config.get( 'wgAction' ) === 'edit' ) {
 $( function() {
  $( '#wpSummary' ).val( function( i, val ) {
   //Nur aktiv werden, wenn es auch eine Autozusammenfassung gibt
   if( val.length <= 2 || val.substring( 0, 2 ) !== '/*' ) {
    return val;
   }
   return val.replace( /\{\{[\s_]*:?[\s_]*(?:(?:Template|Vorlage)[\s_]*:[\s_]*)?Anker[\s_]*\|[^}]*\}\}\s*/gi, '' );
  });
 });
}

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-3478673-1"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-3478673-1');
</script>