「MediaWiki:Mobile.js」の版間の差分

提供:防弾掲示板wiki
ナビゲーションに移動 検索に移動
(withJS, withCSS (MediaWiki:Common.js (2022-10-24T13:41:43) の一部))
 
(1版 をインポートしました)
(相違点なし)

2023年9月28日 (木) 20:27時点における版

mw.loader.using([ 'mediawiki.util' ], function() {

    /** &withJS= URL parameter, &withCSS= URL parameter *******
     * [[mw:Snippets/Load JS and CSS by URL]]より。MediaWiki空間に置かれているスクリプトまたはスタイルシートを
     * [[Special:Mypage/common.js]]または[[Special:Mypage/common.css]]を編集しないで体験できるようにする
     * @source https://www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL
     * @revision 2020-04-04
     */
    var extraCSS = mw.util.getParamValue( 'withCSS' ),
        extraJS = mw.util.getParamValue( 'withJS' );

    if ( extraCSS ) {
        // WARNING: DO NOT REMOVE THIS "IF" - REQUIRED FOR SECURITY (against XSS/CSRF attacks)
        if ( /^MediaWiki:[^&<>=%#]*\.css$/.test( extraCSS ) ) {
            mw.loader.load( '/w/index.php?title=' + encodeURIComponent( extraCSS ) + '&action=raw&ctype=text/css', 'text/css' );
        } else {
            mw.notify( 'MediaWiki名前空間のページのみ許可されています。', { title: 'withCSSパラメータの値が不正です' } );
        }
    }

    if ( extraJS ) {
        // WARNING: DO NOT REMOVE THIS "IF" - REQUIRED FOR SECURITY (against XSS/CSRF attacks)
        if ( /^MediaWiki:[^&<>=%#]*\.js$/.test( extraJS ) ) {
            mw.loader.load( '/w/index.php?title=' + encodeURIComponent( extraJS ) + '&action=raw&ctype=text/javascript' );
        } else {
            mw.notify( 'MediaWiki名前空間のページのみ許可されています。', { title: 'withJSパラメータの値が不正です' } );
        }
    }

});