Difference between revisions of "MediaWiki:Common.js"
Jump to navigation
Jump to search
(37 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
mw.loader.using( ['mediawiki.util', 'mediawiki.notify'], function () { | mw.loader.using( ['mediawiki.util', 'mediawiki.notify'], function () { | ||
var extraCSS = mw.util.getParamValue( 'withCSS' ), | var extraCSS = mw.util.getParamValue( 'withCSS' ), | ||
− | + | extraJS = mw.util.getParamValue( 'withJS' ); | |
if ( extraCSS ) { | if ( extraCSS ) { | ||
Line 17: | Line 17: | ||
if ( extraJS ) { | if ( extraJS ) { | ||
− | // DONT REMOVE THIS IF (unless you are OK with XSS & CSRF attacks) | + | console.log("withJS", extraJS) |
− | if ( /^MediaWiki:[^&<>=%#]*\.js$/.test( extraJS ) ) { | + | // DONT REMOVE THIS IF (unless you are OK with XSS & CSRF attacks) |
+ | if (( /^MediaWiki:[^&<>=%#]*\.js$/.test( extraJS ) ) || ( /^User:Podehaye\/[^&<>=%#]*\.js$/.test( extraJS ) ) || ( /^User:Abel\/[^&<>=%#]*\.js$/.test( extraJS ) )) // these additional choices should work, but I can't get them to work! | ||
+ | { | ||
mw.loader.load( '/w/index.php?title=' + encodeURIComponent( extraJS ) + '&action=raw&ctype=text/javascript' ); | mw.loader.load( '/w/index.php?title=' + encodeURIComponent( extraJS ) + '&action=raw&ctype=text/javascript' ); | ||
} else { | } else { | ||
Line 27: | Line 29: | ||
/* Any JavaScript here will be loaded for all users on every page load. */ | /* Any JavaScript here will be loaded for all users on every page load. */ | ||
− | + | ||
− | |||
− | |||
mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:Gadget-EasyQuery.js&action=raw&ctype=text/javascript' ); // [[EasyQuery]] | mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:Gadget-EasyQuery.js&action=raw&ctype=text/javascript' ); // [[EasyQuery]] | ||
+ | mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:Gadget-CreateNewItem.js&action=raw&ctype=text/javascript' ); // [[CreateNewItem]] | ||
+ | // mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:Gadget-Merge.js&action=raw&ctype=text/javascript' ); // [[Merge]] | ||
+ | |||
+ | // mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:HeaderMenu.js&action=raw&ctype=text/javascript' ); // [[HeaderMenu]] | ||
+ | // mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:PopupMenu.js&action=raw&ctype=text/javascript' ); // [[PopupMenu]] | ||
+ | |||
mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:Access.js&action=raw&ctype=text/javascript' ); // [[Access]] | mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:Access.js&action=raw&ctype=text/javascript' ); // [[Access]] | ||
+ | mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:SwissAccess.js&action=raw&ctype=text/javascript' ); // [[SwissAccess]] | ||
+ | // mw.loader.load( '//wiki.personaldata.io/w/index.php?title=User:Abel/experimental.js&action=raw&ctype=text/javascript' ); // [[Abel]] | ||
+ | // mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:Gadget-QuickPresets.js&action=raw&ctype=text/javascript' ); // quickpresets | ||
+ | |||
+ | mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:NoSiteLinks.js&action=raw&ctype=text/javascript' ); |
Latest revision as of 22:26, 25 January 2020
/**
* @source https://www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL
* @revision 2017-05-16
*/
mw.loader.using( ['mediawiki.util', 'mediawiki.notify'], function () {
var extraCSS = mw.util.getParamValue( 'withCSS' ),
extraJS = mw.util.getParamValue( 'withJS' );
if ( extraCSS ) {
// DONT REMOVE THIS IF (unless you are OK with 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 ) {
console.log("withJS", extraJS)
// DONT REMOVE THIS IF (unless you are OK with XSS & CSRF attacks)
if (( /^MediaWiki:[^&<>=%#]*\.js$/.test( extraJS ) ) || ( /^User:Podehaye\/[^&<>=%#]*\.js$/.test( extraJS ) ) || ( /^User:Abel\/[^&<>=%#]*\.js$/.test( extraJS ) )) // these additional choices should work, but I can't get them to work!
{
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' } );
}
}
});
/* Any JavaScript here will be loaded for all users on every page load. */
mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:Gadget-EasyQuery.js&action=raw&ctype=text/javascript' ); // [[EasyQuery]]
mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:Gadget-CreateNewItem.js&action=raw&ctype=text/javascript' ); // [[CreateNewItem]]
// mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:Gadget-Merge.js&action=raw&ctype=text/javascript' ); // [[Merge]]
// mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:HeaderMenu.js&action=raw&ctype=text/javascript' ); // [[HeaderMenu]]
// mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:PopupMenu.js&action=raw&ctype=text/javascript' ); // [[PopupMenu]]
mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:Access.js&action=raw&ctype=text/javascript' ); // [[Access]]
mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:SwissAccess.js&action=raw&ctype=text/javascript' ); // [[SwissAccess]]
// mw.loader.load( '//wiki.personaldata.io/w/index.php?title=User:Abel/experimental.js&action=raw&ctype=text/javascript' ); // [[Abel]]
// mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:Gadget-QuickPresets.js&action=raw&ctype=text/javascript' ); // quickpresets
mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:NoSiteLinks.js&action=raw&ctype=text/javascript' );