Content deleted Content added
No edit summary |
In section "importScript() is not deprecated", link from "some confusion" to User talk:Enterprisey/script-installer#Confusing history of importScript |
||
(30 intermediate revisions by 19 users not shown) | |||
Line 1:
{{Documentation subpage}}{{template shortcuts|iusc}}
{{Subst only|auto=yes}}
<!-- Categories go at the bottom of this page and interwikis go in Wikidata. --> This template is used to install [[WP:US|user scripts]] that reside on the English Wikipedia. It is to be used primarily on [[Special:MyPage/common.js]] or [[Special:MyPage/skin.js]]. It adds the necessary <code>importScript</code> line along with a [[WP:Backlink|backlink]].
== Usage ==
In order to install a user script for your Wikipedia account, add the following line to [[Special:MyPage/Common.js]] or [[Special:MyPage/Skin.js]]: ▼
▲In order to install a user script for your Wikipedia account, add the following line to [[Special:MyPage/
<code><nowiki>{{subst:iusc| script_path }}</nowiki></code>▼
*Replace <code>script_path</code> with the the full .js page name of the user script to be installed.▼
*The template '''must''' but [[WP:SUBST|substituted]] (<code>subst:</code>), or else it won't work.▼
▲*Replace <code>script_path</code> with
▲*The template '''must'''
*[[WP:BYPASS|Bypass your cache]] after saving the page.
== Example ==
<code><nowiki>{{subst:iusc|User:TheDJ/sharebox.js}}</nowiki></code>
*'''Produces:''' <code><nowiki>importScript( 'User:TheDJ/sharebox.js' ); // Backlink: [[User:TheDJ/sharebox.js]]</nowiki></code>
== importScript() is not deprecated ==
There is [[User talk:Enterprisey/script-installer#Confusing history of importScript|some confusion]] about whether or not importScript() is deprecated. The answer is that it is '''not''' deprecated.
In 2015, importScript() was [[gerrit:c/mediawiki/core/+/203293|deprecated for one week]], and then [[gerrit:c/mediawiki/core/+/206078/|the action was reversed]]. In 2022, a [[gerrit:c/mediawiki/core/+/820828|bug causing importScript() to not work for mobile users]] was fixed. As of 2022, the latest statement by software engineers on the deprecation is [[phab:T27845#8135189]], which states {{TQ|For local imports, call importScript(). This is not, and never was, deprecated. For cross-wiki and other less trivial use cases, call mw.loader.load().}}
In conclusion, importScript() is not deprecated, and editors should feel free to use it. It does not need to be systematically replaced by mw.loader.load(), and {{T|iusc}} does not need to be replaced with {{T|lusc}}.
== importScript() vs mw.loader.load() ==
{{T|Install user script}} uses importScript(), and {{T|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, <code>importScript('c:User:YourName/test.js');</code>
** '''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.
== See also ==
<includeonly>▼
* {{tl|Load user script}} ({{tl|Lusc}}) – Version of this script that uses the <code>mw.loader.load()</code> method.
[[Category:User scripts|{{PAGENAME}}]]▼
{{Wikipedia:User scripts/Navbox}}
<
[[Category:Wikipedia JavaScript templates]]
[[Category:Wikipedia user script templates]]
▲}}</includeonly>
|