MediaWiki:Common.js
Beaachte: Maage di cache faan dan browser leesag, wan dü a feranrangen sä wel.
- Firefox / Safari: Hual Shift bi't aktualisiarin, of trak Strg an F5 of Strg an R (⌘an R üüb en Mac)
- Google Chrome: Trak Strg an Shift an R (⌘an Shift an R üüb en Mac)
- Internet Explorer/Edge: Hual Strg bi't aktualisiarin, of trak Strg an F5
- Opera: Extras - Internetspuren löschen - Individuelle Auswahl - Den kompletten Cache löschen
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */
/* Jede Ergänzung/Änderung muss vorher jeweils für alle Skins auf Tauglichkeit getestet werden, */
/* individuell per User.css! Ist hier erstmal geändert, dauert es dank Cache eine Weile (bis 30 Tage), bis die */
/* Änderungen bei allen Nutzern sichtbar oder, bei Fehlern, korrigiert sind. */
//*** 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 = "Auer a miaten artiikel";
var linkGA_description = "Gud artiikel";
// 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;
}
// 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();
}
/** 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);
}
}
}
/** 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);
}
})});
// 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.loader.using( [ 'mediawiki.util'], function() { $(function() {
mw.util.addCSS( '#interProject, #properTitle, #subTitle {display: none; speak: none;} .grayTitle, #grayTitle { color: #7b7b7b ;}' );
})});
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";
$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 = "blackTitle";
}
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("vorlageTitel")) { //nordfriisk tiitel, luke diar [[Vorlage:Titel]]
$(".firstHeading").empty().append($("#vorlageTitel"));
$("#vorlageTitel").removeAttr("style"); //Ünsichtboorkaid wechnem
$("#vorlageTitel").attr('id', 'pTitle'); //woort för di tiitel uun a browser brükt
}
}
}
$(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("Skriiw iarst y, wat soocht wurd skal (ual)!", "");
if (searchPrompt != "" && searchPrompt != null) {
replacePrompt = prompt("Skriiw nü y, wat diar eftert stun skal (nei)!", "");
if (replacePrompt != "" && replacePrompt != null) {
var editForm = document.editform.wpTextbox1;
var regEx = new RegExp(searchPrompt, "g");
editForm.value = editForm.value.replace(regEx, replacePrompt);
alert("Dong!");
}
}
}
/*
## ProjektLinks ##
by Skript von [[user:Merlissimo]] (Idee basierend auf //de.wiktionary.org/wiki/MediaWiki:Common.js von [[User:Pathoschild]] und [[wikt:de:User:Melancholie]])
erzeugt Sitebar-Interwiki zu Schwesterprojekten aufgrund von Vorlage {{InterProjekt}}
siehe auch Feature-Request [[bugzilla:708]]
*/
mw.loader.using( [ 'mediawiki.util'], function() { $(function() {
var iProject = document.getElementById("interProject");
if(!iProject) return;
var sistersibling = document.getElementById("p-navigation");
if(!sistersibling) return;
//Link auf Parennode des Portletmenues
var sisterparent = sistersibling.parentNode;
//Erzeuge neues Portletmenue
var sisterprojectnav = document.createElement("div");
sisterprojectnav.id = "p-sisterprojects";
sisterprojectnav.className = sistersibling.className
sisterprojectnav.innerHTML = '<h5>'+document.getElementById("sisterProjects").firstChild.innerHTML+'</h5><div><ul></ul></div>';
var sistersiblingsub = sistersibling.getElementsByTagName("div")[0];
if(sistersiblingsub){
sisterprojectnav.childNodes[1].className = sistersiblingsub.className;
} else {
sisterprojectnav.childNodes[1].className = "pBody";
}
//Wenn möglich vor den Interwikis einfügen
var sisternext = document.getElementById("p-lang");
if ( sisternext && sisternext.parentNode == sisterparent ){
sisterparent.insertBefore( sisterprojectnav, sisternext );
} else{
sisterparent.appendChild(sisterprojectnav);
}
//Schwesterlinks ermitteln und einfügen
var sisterlinks = iProject.getElementsByTagName("a");
for (var i = 0; i < sisterlinks.length; i++) {
var sistername = sisterlinks[i].firstChild.nodeValue
mw.util.addPortletLink('p-sisterprojects', sisterlinks[i].getAttribute("href") + '?uselang=' + mw.config.get('wgUserLanguage'), sistername, "sister-"+ sistername, sistername);
}
})});
//================================================================================
//*** import Onlyifediting-functions
// SEE ALSO [[MediaWiki:Onlyifediting.js]]
if ( mw.config.get('wgAction') == 'edit' || mw.config.get('wgAction') == 'submit' ) {
mw.loader.load( '/w/index.php?title=MediaWiki:Onlyifediting.js&action=raw&ctype=text/javascript' );
}
//================================================================================
//*** import Onlyifuploading-functions
// SEE ALSO [[MediaWiki:Onlyifuploading.js]]
if (mw.config.get('wgCanonicalSpecialPageName') == "Upload") {
mw.loader.load( '/w/index.php?title=MediaWiki:Onlyifuploading.js&action=raw&ctype=text/javascript' );
mw.loader.load( '/w/index.php?title=MediaWiki:Onlyifediting.js&action=raw&ctype=text/javascript' );
}
//==============================================================================
//*** Fügt eine Betreffzeile auf leeren Diskussionsseiten ein
$(function() {
if(mw.config.get('wgNamespaceNumber') != 0 && mw.config.get('wgNamespaceNumber') != 1) return;
var tab = document.getElementById( 'ca-talk' );
if( !tab || tab.className != 'new' ) return;
var link = tab.getElementsByTagName( 'a' )[0];
if( !link ) return;
link.href += '§ion=new';
});
// <noscript>-Emulation via <div class="noscript"></div>
mw.loader.using( [ 'mediawiki.util'], function() { $(function() {
mw.util.addCSS('.noscript {display:none;}');
})});
/*
* Bei Artikeln mit Artikelkoordinate kann OpenStreetMap einblendent werden
*/
if ($.inArray(mw.config.get('skin'), ["monobook", "simple", "modern", "vector"])) {
mw.loader.load( '/w/index.php?title=MediaWiki:Common.js/OSM.js&action=raw&ctype=text/javascript' );
}