1,196
edits
(Created page with "mw.loader.using('mobile.site.styles')") |
No edit summary |
||
Line 1: | Line 1: | ||
mw.loader.using(' | /** | ||
* @source https://www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL | |||
* @revision 2017-05-16 | |||
*/ | |||
mw.loader.using( ['mediawiki.util'], function () { | |||
var extraCSS = mw.util.getParamValue( 'withCSS' ), | |||
extraJS = mw.util.getParamValue( 'withJS' ), | |||
extraModule = mw.util.getParamValue( 'withModule' ); | |||
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( 'Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withCSS value' } ); | |||
} | |||
} | |||
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( 'Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withJS value' } ); | |||
} | |||
} | |||
if ( extraModule ) { | |||
if ( /^ext\.gadget\.[^,\|]+$/.test( extraModule ) ) { | |||
mw.loader.load( extraModule ); | |||
} else { | |||
mw.notify( 'Only gadget modules are allowed.', { title: 'Invalid withModule value' } ); | |||
} | |||
} | |||
}); |