Template:Load user script
Appearance
mw.loader.load( '{{subst:localurl:{{{1}}}|action=raw&ctype=text/javascript}}' ); // Backlink: [[{{{1}}}]]
This template is used to install that reside on Wikitech. It is to be used primarily on Special:MyPage/common.js or Special:MyPage/skin.js. It adds the necessary mw.loader.load
line along with a .
Usage
In order to install a user script for your Wikitech account, add the following line to Special:MyPage/common.js or Special:MyPage/skin.js:
{{subst:lusc|script_path}}
- Replace
script_path
with the full .js page name of the user script to be installed. - The template must be (
subst:
), or else it won't work. - after saving the page.
Example
{{subst:lusc|User:Example/script.js}}
- Produces:
mw.loader.load( '/w/index.php?title=User:Example/script.js&action=raw&ctype=text/javascript' ); // Backlink: [[User:Example/script.js]]
{{subst:lusc|User:Example/script.js|User:Example/script}}
- Produces:
mw.loader.load( '/w/index.php?title=User:Example/script.js&action=raw&ctype=text/javascript' ); // Backlink: [[User:Example/script]]
importScript() vs mw.loader.load()
{{Install user script}} uses importScript(), and {{Load user script}} uses mw.loader.load().
importScript():
- Is less verbose, only needing the string of the page you're loading.
- Is more restrictive, only allowing the loading of Wikipedia pages in the user or MediaWiki namespaces.
- Can load from other Wikimedia wikis, using a prefix such as "c" for "commons". For example,
importScript('c:User:YourName/test.js');
- However, this usage is not recommended as it involves an extra round trip. mw.loader.load is faster for cross-wiki loads.
- Makes your common.js file more readable, since it is less verbose.
mw.loader.load():
- Is more verbose, needing a long URL string. Note that the URL string has to be correctly escaped.
- Is less restrictive. Will load any URL from anywhere. So for example is good for loading from a local dev environment such as localhost.
- Can load from other Wikimedia wikis by adjusting the URL.
- Makes your common.js file less readable, since it is more verbose.