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. */ |
| + | |
| + | |
| + | /** |
| + | * star logo for featured articles in other languages, |
| + | * see Template:Link_FA and MediaWiki:Common.css |
| + | */ |
| + | addOnloadHook(function() { |
| + | // early exit when disabled |
| + | if (!linkFA_enabled) return; |
| + | |
| + | // skins need to be treated differently |
| + | if (skin == "monobook" || skin == "simple") { |
| + | newer(); |
| + | } |
| + | else if (skin == "cologneblue" || skin == "nostalgia" || skin == "standard") { |
| + | older(); |
| + | } |
| + | |
| + | /** skin == "monobook" || skin == "simple" */ |
| + | function newer() { |
| + | // 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")) continue; |
| + | // additional class so the template can be hidden with CSS |
| + | li.className += " FA"; |
| + | // change title |
| + | li.title = linkFA_description; |
| + | } |
| + | } |
| + | |
| + | /** skin == "cologneblue" || skin == "nostalgia" || skin == "standard" */ |
| + | function older() { |
| + | // these root elements can contain FA-links |
| + | var rootIds = new Array("topbar", "footer"); |
| + | for (var i=0; i<rootIds.length; i++) { |
| + | var rootId = rootIds[i]; |
| + | var root = document.getElementById(rootId); |
| + | 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++) { |
| + | var link = links[j]; |
| + | decorate(link); |
| + | } |
| + | } |
| + | } |
| + | |
| + | /** id necessary, modify a link to show the FA-star (older) */ |
| + | function decorate(link) { |
| + | // exit if not a FA-link |
| + | var lang = link.title.split(":")[0]; // not precise enough |
| + | var fa = document.getElementById("interwiki-" + lang + "-fa"); |
| + | if (!fa) return; |
| + | // possible problem owing the standard skin: "Link FA" template is transcluded with a non-interwiki parameter, for example "Special" |
| + | // result: links to special pages in the topbar and/or footer might also be marked as a Featured Article |
| + | |
| + | // build an image-node for the FA-star |
| + | var img = document.createElement("img"); |
| + | img.setAttribute("src", linkFA_bullet); |
| + | img.setAttribute("alt", linkFA_description); |
| + | img.setAttribute("style", linkFA_style); |
| + | |
| + | // decorate the link with the image |
| + | link.appendChild(img); |
| + | link.appendChild(link.removeChild(link.firstChild)); |
| + | link.setAttribute("title", linkFA_description); |
| + | } |
| + | }); |
| + | |
| | | |
| // Verwendung von OpenStreetMap in Wikipedia. | | // Verwendung von OpenStreetMap in Wikipedia. |