Nutza:WikiBayer/diff-permanentlink.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
// <nowiki> Fork von [[:en:User:Enterprisey/diff-permalink.js]]
( function () {
$.when( $.ready, mw.loader.using( [ "mediawiki.util" ] ) ).then( function () {
var suffix = mw.config.get( "wgDiffNewId" );
var page;
var dbname = mw.config.get('wgDBname');
var sprache;
var projekt;
switch (true) {
case /wikiquote/.test(dbname):
sprache = dbname.replace("wikiquote", "");
projekt = ':' + sprache + ':q:';
break;
case /wikisource/.test(dbname):
sprache = dbname.replace("wikisource", "");
projekt = ':s:' + sprache + ':';
break;
case /wikiversity/.test(dbname):
sprache = dbname.replace("wikiversity", "");
projekt = ':v:' + sprache + ':';
break;
case /wikinews/.test(dbname):
projekt = ':' + sprache + ':n:';
break;
case /wiktionary/.test(dbname):
sprache = dbname.replace("wiktionary", "");
projekt = ':wikt:' + sprache + ':';
break;
case /wikibooks/.test(dbname):
sprache = dbname.replace("wikibooks", "");
projekt = ':b:' + sprache + ':';
break;
case /wikispecies/.test(dbname):
projekt = ':species:';
break;
case /wikidata/.test(dbname):
projekt = ':d:';
break;
case /meta/.test(dbname):
projekt = ':m:';
break;
case /commons/.test(dbname):
projekt = ':c:';
break;
case /mediawiki/.test(dbname):
projekt = ':mw:';
break;
case /wikivoyage/.test(dbname):
sprache = dbname.replace("wikivoyage", "");
projekt = ':voy:' + sprache + ':';
break;
case /wikimedia/.test(dbname):
break;
case /outreach/.test(dbname):
projekt = ':outreach:' + sprache + ':';
break;
case /wiki/.test(dbname):
sprache = dbname.replace("wiki", "");
projekt = ':' + sprache + ':';
break;
}
if( suffix )
{
if( document.getElementsByClassName( "diff-multi" ).length ||
mw.config.get("wgPageName") === "Special:ComparePages" )
suffix = mw.config.get( "wgDiffOldId" ) + "/" + suffix;
page = "[[" + projekt + "Special:Diff/" + suffix + "]]";
} else {
var oldidMatch = mw.util.getParamValue( "oldid" );
if( oldidMatch ) {
page = "[[" + projekt + "Special:Permalink/" + oldidMatch + "]]";
} else return; // nothing to do here
}
var permalinkEl = $( "<input>" ).val( page )
.click( function () { this.select(); document.execCommand( "copy" ); } );
permalinkEl.attr( "size", permalinkEl.val().length ); // resize to diff length
permalinkEl.attr( 'id', 'mw-difflink' );
permalinkEl.attr( 'style', 'border-bottom: 1px solid rgb(176, 196, 222); background: lightblue; padding-right: 4px; padding-left: 4px; border-left: 1px solid rgb(176, 196, 222); float: right;' );
$( "#firstHeading").prepend(permalinkEl);
} );
} )();