Benutzer:Schnark/js/deprecated.js
< Benutzer:Schnark | 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
/* Zeigt Warnungen, wenn ein veraltetes Skript verwendet wird. Benutzung mit: <nowiki>
mw.libs.deprecated = $.extend(mw.libs.deprecated, {skriptname: '<blink>Hör’ sofort auf, das Skript [[Benutzer:Name/veraltet.js]] zu verwenden!</blink>'});
importScript('Benutzer:Schnark/js/deprecated.js');
*/
/*global mediaWiki*/
(function ($, mw, libs) {
"use strict";
var cookieName = 'SchnarkDeprecated';
function parse (text) {
return text.replace(/\[\[(.*?)\]\]/g, function (all, title) {
return mw.html.element('a', {href: mw.util.getUrl(title).replace('%23', '#')}, title);
});
}
function getUnreadDeprecations () {
var read = (mw.cookie.get(cookieName) || '').split('|'),
unread = [], key;
for (key in libs.deprecated) {
if ($.inArray(key, read) === -1) {
unread.push(key);
}
}
return unread;
}
function setRead (read) {
mw.cookie.set(cookieName, (mw.cookie.get(cookieName) || '') + read.join('|'));
}
function getNotice (unread) {
var msg = '<b>Achtung!</b> Du verwendest Skripte, die nicht mehr gepflegt werden. Es handelt sich um die folgenden Skripte (und eventuell weitere, die auf dieser Seite aber nicht geladen wurden):',
list = $.map(unread, function (key) {
return mw.html.element('li', {}, new mw.html.Raw(parse(libs.deprecated[key])));
}).join(''),
link = '[Meldung ausblenden]',
html = mw.html.element('p', {}, new mw.html.Raw(msg)) +
mw.html.element('ul', {}, new mw.html.Raw(list)) +
mw.html.element('p', {}, new mw.html.Raw(
mw.html.element('a', {id: 'schnark-deprecated', style: 'float: right', href: '#'}, link)
)),
$div = $(mw.html.element('div', {}, new mw.html.Raw(html)));
$div.find('#schnark-deprecated').click(function () {
$div.hide();
setRead(unread);
return false;
});
return $div;
}
function showNotice () {
var unread = getUnreadDeprecations();
if (unread.length === 0) {
return;
}
$('#firstHeading').before(getNotice(unread));
}
function init () {
mw.loader.using(['mediawiki.util', 'mediawiki.cookie'], function () {
window.setTimeout(function () {
$(showNotice);
}, 2000); //2 Sekunden warten, dass alle veralteten Skripte geladen sind
});
}
init();
})(jQuery, mediaWiki, mediaWiki.libs);
//</nowiki>