全域的JavaScript方法importArticles()
提供在一個wiki置入有腳本或樣式的文章。
這個功能類似於已有的方法包括importScriptPage
與importStylesheetPage
等。然而,importArticles()
可以從其他的Fandom社區中導入文章,也可以把幾篇文章結合為一篇,並將之極簡化(minify)。這減少了檔案的大小以及網頁需要的流量,讓wiki載入檔案速度變快。
使用[]
importArticles()
方法需要模組(module)定義來載入文章。模組是有key/value屬性的JavaScript物件。以下的屬性在每個模組中是必要的:
- 型別(type) - 這個屬性標明了該模塊中文章的型別。支援的型別包括:
- 腳本(script) - 有JavaScript的文章(例如“MediaWiki:Common.js”。)
- 樣式(style) - 有CSS的文章例如“MediaWiki:Common.css”
- 文章(articles) - 你要導入的文章,參見下面的放置文章段落。
放入importArticles()
的模組數量不限。但所有在模組中的文章必須是同一型別(type).
importArticles()
(以及以下的進階技術)產生的文章最多緩存10分鐘。因此不論你什麼時候作出修改,你可以假定在使用importArticles()
使用之後的10分鐘,所有wiki的使用者會使用你修改後的JS和CSS檔案。
放置文章[]
可以使用簡單的語法讓你放置要導入的文章。這和跨wiki連結頗為類似:
(Prefix:<WikiName>:)<Article>
在上面括()中的內容都是可以選擇填寫或不寫的,而在上面<>中的內容則必須由使用者輸入,冒號則是用於將字串分成不同部分。前綴(Prefix)告訴我們你想要如何查找該文章,除非是使用wiki本身的文章,通常前綴之後接續的是Wiki的名字, 、
同一Wiki本身的文章[]
在同一Wiki的文章可以按照一般的方式直接使用文章標題來放置。它們不需要前綴或wiki名稱,但為了方便,也可以使用local(或簡稱"l")作為前綴。例如,如果你想要導入MediaWiki:Common.js,可以將以下放入importArticles 中:
MediaWiki:Common.js
其他Wiki的文章[]
從Fandom其他的wiki也可以用一般連結的方式。然而,不像wiki本身的文章,其他wiki的文章需要使用前綴和wiki名稱來確認你想導入文章的位置。Fandom支援使用資料庫(database)名稱,通常是wiki的英文名稱,以及使用網址(URL)來查找一個wiki. 用資料庫名稱查詢時使用external前綴(或"remote"或簡碼"w") ,使用網址查詢時使用url為前綴 (或簡碼"u")。例如,如果你想要從Dev Wiki導入Highlight/code.css這篇文章,可以在importArticles陳述中加上:
u:dev:Highlight/code.css
這個代碼在其他語言的wiki中也可以使用,例如如果你想要從義大利語版的One Piece Wiki中導入MediaWiki:Common.js這篇文章。可以使用:
u:it.onepiece:MediaWiki:Common.js
進階使用[]
在後台importArticles()
方法執行三個必要的工作:
- 產生適當的URL位置以使用ResourceLoader,
- 針對模組執行完整性檢查,以確認格式無誤。
- 在有錯誤時告知使用者。
然而,要合併與極簡化多篇文章也不一定要使用這個方法。如果你喜歡,你可以手動產生URL,然後使用其他方式來載入,例如使用CSS的 @import 或JavaScript的 jQuery.getScript。
有很多你可以放入網址中的變量(函數),以下可能是一些最有用的:
變量 | 變量描述 |
---|---|
mode
|
告知 ResourceLoader 我們會載入文章。應該設定為“articles”。 |
articles
|
文章列表。如果提供多個文章,要使用“|”來隔開. |
only
|
文章的型別,可以設定為“scripts”(腳本)或“styles”(樣式)。 |
debug
|
這個變量不是預設必要,但可以設定為“true”以關閉極簡化,以便在導入文章時更容易找到並修正錯誤(debug)。 |
最後,你應該會用如下這樣的URL位址:
/load.php?mode=articles&articles=One.css|Two.css&only=styles
也可以結合使用@import
例如這樣:
@import url("/load.php?mode=articles&articles=One.css|Two.css&only=styles");
如果css由Fandom网站以外的其他网站支持,比如Dropbox,那么url应该使用http://或者https://,比如这样:
@import url("https://dl.dropboxusercontent.com/s/0p9ay0nqibx2wr7/manga_list.css");
例子[]
導入多篇腳本文章,一篇來自於該Wiki,一篇來自於其他的wiki:
importArticles({
type: "script",
articles: [
"MediaWiki:MyCustomJavaScript.js",
"external:dev:MediaWiki:External_include.js"
]
});
導入多篇樣式文章,一篇來自於該wiki,一篇來自其他的wiki
importArticles({
type: "style",
articles: [
"MediaWiki:Common.css",
"external:starwars:MediaWiki:External_include.css"
]
});
在一次的方法呼叫中,導入多個模組:
importArticles({
type: "script",
articles: [
"MediaWiki:MyCustomJavaScript.js",
"external:dev:MediaWiki:External_include.js"
]
}, {
type: "style",
article: "MediaWiki:Common.css"
});
其他的語法例子[]
importArticles()
這個方法也支援其他常用的簡化語法。為了方便使用,importArticle()
方法也要定義。
要將一個wiki中的單一檔案導入,可使用以下的模組定義:
importArticle({
type: "style",
article: "MediaWiki:Common.css"
});
參見[]
更多帮助和反馈[]
- 於帮助:帮助中心瀏覽或搜索其他帮助頁面。
- 查看Fandom社区中心以尋求更多協助和支持。
- 查看联系Fandom頁面,了解如何报告本條目中的任何錯誤或不清楚的步驟。