プロジェクト:ウィキ技術部/スクリプト開発/trunk/withWTECH.js
表示
/************************************************************************/
// ja> =ウィキ技術部開発版スクリプトの体験リンク機能=
// > [[プロジェクト:ウィキ技術部]]で開発されているスクリプトを
// > 簡単に体験するためのリンクを生成する機能。
// > [[Help:WithJS withCSS]]の、動作する名前環境が異なるものとほぼ同じ
/************************************************************************/
mw.loader.using( ['mediawiki.util'], function () {
const extraCSS = mw.util.getParamValue( 'withWTECHCSS' );
const extraJS = mw.util.getParamValue( 'withWTECHJS' );
const ns = mw.config.get("wgFormattedNamespaces")[102];
const target = "^(" + ns + "|" + encodeURI(ns) + "):(ウィキ技術部|" + encodeURI("ウィキ技術部") + ")/(スクリプト開発|" + encodeURI("スクリプト開発") +")/(trunk|tags|branches)/.+\."
if ( extraCSS ) {
console.log(extraCSS);
console.log(extraCSS);
// WARNING: DO NOT REMOVE THIS "IF" - REQUIRED FOR SECURITY (against XSS/CSRF attacks)
if ( new RegExp(target + "css$").test( extraCSS ) ) {
mw.loader.load( '/w/index.php?title=' + encodeURIComponent( extraCSS ) + '&action=raw&ctype=text/css', 'text/css' );
} else {
mw.notify( 'ウィキ技術部のページのみ許可されます。', { title: 'Invalid withWTECHCSS value' } );
}
}
if ( extraJS ) {
// WARNING: DO NOT REMOVE THIS "IF" - REQUIRED FOR SECURITY (against XSS/CSRF attacks)
if ( new RegExp(target + "js$").test( extraJS ) ) {
mw.loader.load( '/w/index.php?title=' + encodeURIComponent( extraJS ) + '&action=raw&ctype=text/javascript' );
} else {
mw.notify( 'ウィキ技術部のページのみ許可されます。', { title: 'Invalid withWTECHJS value' } );
}
}
});