社区中心
Advertisement

全域的JavaScript方法importArticles()提供在一個wiki置入有腳本或樣式的文章。

這個功能類似於已有的方法包括importScriptPageimportStylesheetPage等。然而,importArticles()可以從其他的Fandom社區中導入文章,也可以把幾篇文章結合為一篇,並將之極簡化(minify)。這減少了檔案的大小以及網頁需要的流量,讓wiki載入檔案速度變快。

使用[]

importArticles()方法需要模組(module)定義來載入文章。模組是有key/value屬性的JavaScript物件。以下的屬性在每個模組中是必要的: 

  • 型別(type) - 這個屬性標明了該模塊中文章的型別。支援的型別包括:
  • 文章(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()方法執行三個必要的工作:

  1. 產生適當的URL位置以使用ResourceLoader
  2. 針對模組執行完整性檢查,以確認格式無誤。
  3. 在有錯誤時告知使用者。

然而,要合併與極簡化多篇文章也不一定要使用這個方法。如果你喜歡,你可以手動產生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"
});


參見[]

更多帮助和反馈[]

Advertisement