MediaWiki:Common.js
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
// MediaWiki Software: $ = jQuery;
// Utility
function $id(id) {
return document.getElementById(id);
}
function $t(tag) {
return document.getElementsByTagName(tag);
}
url = document.URL;
barnStar = "//upload.wikimedia.org/wikipedia/commons/a/a2/Tireless_Contributor_Barnstar.gif";
// [[Ajax (Programmierung)|Ajax]] import feature
mw.util.addCSS( '#interProject, #properTitle, #subTitle {display: none; speak: none;} .grayTitle, #grayTitle { color: #E9E9E9 ;}' );
window.impArr = ["NavBar", "pTitle", "sTitle", "sincere-visitor", "pt-login", "patrolLink", "markedPatrolled", "onlyRcID", "sidebar-bug"];
window.done = [];
function jsImp(i) {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "/w/index.php?title=MediaWiki:If-"+impArr[i]+".js&action=raw&ctype=text/javascript&dontcountme=s";
$t("head")[0].appendChild(script);
}
if (url.indexOf("&rcid=") > 0 && url.indexOf("action=") < 0 && url.indexOf("diff=") < 0) {
jsImp(7);
}
if (url.indexOf("?diff=next&rcid=") > 0) {
jsImp(5);
}
function ifID() {
var impVar;
var groupArray = '#'+mw.config.get( 'wgUserGroups' );
for (var i = 0; i < impArr.length; i++) {
varArr = impArr[i];
if ($id(varArr)) {
impVar = i;
}
if ($id("pTitle")) {
$t("h1")[0].id = "grayTitle";
}
if (varArr == "sidebar-bug" && (groupArray.indexOf("sysop") > 0 && !$id("n-villagepump")) || window.name.indexOf("flushSidebar=") > -1) {
impVar = i;
}
if (impVar == i) {
jsImp(i);
}
if ($id("vorlachTitel")) { //rheifränggische Titel, vgl. [[Vorlach:Titel]]
$(".firstHeading").empty().append($("#vorlachTitel"));
$("#vorlachTitel").removeAttr("style"); //Unsichtbarkeit fort
$("#vorlachTitel").attr('id', 'pTitle'); //braucht’s fer de Titel im Browserfenschter
}
}
}
$(document).ready(ifID);
function replaceInit() {
if (mw.config.get( 'wgAction' ) == "edit" || mw.config.get( 'wgAction' ) == "submit") {
$("#replace").html('(<a href="javascript:replaceFunc()">+/-<\/a>)');
}
}
$(document).ready(replaceInit);
function replaceFunc() {
searchPrompt = prompt("Gib zerscht y, was gsuecht werre soll (alt)!", "");
if (searchPrompt != "" && searchPrompt != null) {
replacePrompt = prompt("Gib jetz y, mit was ersätzt werre soll (nej)!", "");
if (replacePrompt != "" && replacePrompt != null) {
var editForm = document.editform.wpTextbox1;
var regEx = new RegExp(searchPrompt, "g");
editForm.value = editForm.value.replace(regEx, replacePrompt);
alert("Dong!");
}
}
}
// [[BugZilla:18704]]
if (mw.config.get( 'wgCanonicalSpecialPageName' ) == "Recentchanges") {
jQuery( document ).ready(function() {
var nsinvert = $id("nsinvert").parentNode.parentNode.parentNode.getElementsByTagName("tr")[1];
if (nsinvert && nsinvert.innerHTML.indexOf("tagfilter") > 0) {
nsinvert.style.display = "none";
nsinvert.previousSibling.firstChild.nextSibling.innerHTML += ' <input type="submit" value="Sueche" \/>';
}
});
}
/**
* 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'} );
//*** Configuration for "star" logo in front of interwiki links to Featured Articles
//*** and green symbol in front of interwiki links to Good Articles
/** set in Special:Mypage/common.js to switch off this "feature"
mw.user.options.set( 'linkFA_enabled', false );
* star logo for featured articles in other languages,
* see Template:Link_FA / Template:Link_GA and MediaWiki:Common.css
*/
mw.loader.using( [ 'user', 'mediawiki.user', 'user.options' ], function() { $(function() {
/** description that is displayed when cursor hovers above FA interwiki links */
var linkFA_description = "Därdo Ardiggl is als bsunnaschd glunge gweerd worn.";
var linkGA_description = "Därdo Ardiggl is als guud gweerd worn.";
// linkFA_bullet/linkGA_bullet and linkFA_style/linkGA_Style wird nur für cologneblue verwendet,
// für monobook, modern siehe [[MediaWiki:Common.css]], vector hat in [[MediaWiki:Vector.css]] eigene Definitionen
/** image to use instead of the standard bullet (for cologneblue) */
var linkFA_bullet = "//upload.wikimedia.org/wikipedia/commons/d/d0/Monobook-bullet-star-transparent.png";
var linkGA_bullet = "//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;";
// early exit when disabled
if ( !mw.user.options.get( 'linkFA_enabled', true ) ) {
return;
}
/** skin == "monobook" || 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];
//extract necessary classname
var matches = li.className.match( /(?:^| )(interwiki-[^ ]+)(?: |$)/ );
if ( !matches || matches.length != 2 ) {
continue;
}
var className = matches[1];
// only links with a corresponding Link_FA template are interesting
if (document.getElementById(className + "-fa") && li.className.indexOf("badge-featuredarticle") === -1) {
li.className += " FA"; // additional class so the template can be hidden with CSS
li.title = linkFA_description; // change title
continue;
}
if (document.getElementById(className + "-ga") && li.className.indexOf("badge-goodarticle") === -1) {
li.className += " GA"; // additional class so the template can be hidden with CSS
li.title = linkGA_description; // change title
continue;
}
}
}
/** skin == "cologneblue" */
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);
}
}
}
// skins that can be handled the CSS class way
var skin = mw.config.get( 'skin' );
if (skin === "monobook" || skin === "modern" || skin === "vector" ) {
linkFA_CSS();
}
else if (skin === "cologneblue") {
linkFA_decorate();
}
/** 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);
}
})});
/**
* Verwendung von OpenStreetMap in Wikipedia.
* (c) 2008 by Magnus Manske, Released under GPL
*/
// The function to toggle
function openStreetMapToggle() {
var c = $( '#coordinates' );
if ( !c.length) {
return;
}
var cs = $( '#contentSub' );
var osm = $( '#openstreetmap' );
if ( cs.length && osm.length ) {
if ( osm.css( 'display' ) === 'none' ) {
osm.css( 'display', 'block' );
} else {
osm.css( 'display', 'none' );
}
return false;
}
var found_link = false;
var a = c.find( '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 url = 'http://toolserver.org/~kolossos/openlayers/kml-on-ol.php?lang=pfl&uselang='
+ mw.util.rawurlencode( mw.config.get( 'wgUserLanguage' ) )
+ '¶ms=' + h
+ '&title=' + mw.util.wikiUrlencode( mw.config.get( 'wgTitle' ) );
+ ( window.location.protocol == 'https:' ? '&secure=1' : '' ) ;
var iframe = $( document.createElement( 'iframe' ) );
iframe.attr( 'id', 'openstreetmap' );
iframe.css({
'width': '100%',
'height': '350px',
'clear': 'both'
});
iframe.attr( 'src', url );
cs.append( iframe );
return false;
}
//mediawiki.util is used by openStreetMapToggle
mw.loader.using( [ 'mediawiki.util' ], function() { $( function() {
var c = $( '#coordinates' );
if ( !c.length ) {
return;
}
var a = c.find( 'a' );
var geohack = false;
for (var i = 0; i < a.length; i++) {
var h = a[i].href;
if (!h.match(/geohack/)) continue;
if (h.match(/skyhack/)) continue;
if (h.match(/_globe:/)) continue; // no OSM for moon, mars, etc
geohack = true;
break;
}
if ( !geohack ) {
return;
}
var separator = $( document.createElement( 'span' ) );
separator.text( ' | ' );
separator.attr( 'class', 'noprint coordinates-separator' );
c.append( separator );
var img = $( document.createElement( 'img' ) );
img.attr( {
'src': '//upload.wikimedia.org/wikipedia/commons/thumb/c/c9/OpenStreetMapLogo.png/17px-OpenStreetMapLogo.png',
'width': '17px',
'height': '17px'
} );
var a = $( document.createElement( 'a' ) );
a.attr( {
'href': '#',
'title': 'Zeig d Koordinate uf ere Charte vu OpenStreetMap',
'class': 'noprint osm-icon-coordinates'
} );
a.click( openStreetMapToggle );
a.append( img );
c.append( a );
})});