Nutza:WikiBayer/diff-permanentlink.js

Aus Wikipedia

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);
    } );
} )();