コンテンツにスキップ

利用者:Wotheina/diff-permalink.js

お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。

多くの WindowsLinux のブラウザ

  • Ctrl を押しながら F5 を押す。

Mac における Safari

  • Shift を押しながら、更新ボタン をクリックする。

Mac における ChromeFirefox

  • Cmd Shift を押しながら R を押す。

詳細についてはWikipedia:キャッシュを消すをご覧ください。

// <nowiki>
// based on [[en:User:Enterprisey/diff-permalink.js]] 2022-06-12
// 
$.when( $.ready, mw.loader.using( [ "mediawiki.util" ] ) ).then( function () {
    var suffix = mw.config.get( "wgDiffNewId" );
    var page;
    if( suffix ) {
        if( document.getElementsByClassName( "diff-multi" ).length ||
            mw.config.get("wgCanonicalSpecialPageName") === "ComparePages" ) {
            suffix = mw.config.get( "wgDiffOldId" ) + "/" + suffix;
        }
        page = "Special:Diff/" + suffix;
    } else {
        var oldidMatch = mw.util.getParamValue( "oldid" );
        if( oldidMatch ) {
            page = "Special:Permalink/" + oldidMatch;
        } else return; // nothing to do here
    }

    var permalinkEl = $( "<div>" ).append(
        "Permalink to this " + ( suffix ? "diff" : "oldid" ) + ": ",
        $( "<input>" )
            .attr( { "id": "diff-permalink-link" } )
            .val( page ),
        $( "<button>" )
            .text( "Copy" )
            .css( { "padding": "0.5em", "cursor": "pointer", "margin-left": "0.5em" } )
            .click( function () {
                document.getElementById( "diff-permalink-link" ).select();
                document.execCommand( "copy" );
            } ) );

    $( "#diff-permalink-link" ).attr( "size", page.length ); // resize to diff length

    if( suffix ) {
        $( "#bodyContent" ).prepend( permalinkEl );
    } else {
        $( "#contentSub" ).after( permalinkEl );
    }
} );
// </nowiki>