跳至內容

說明:ResourceLoader

維基百科,自由的百科全書

自1.17版本開始,MediaWiki引入了ResourceLoader將多個JavaScript和/或CSS合併及壓縮後傳送,以加速載入。這可能對本地開發工作帶來一些影響。

致使用者

[編輯]

對於所有使用ResourceLoader的部件,包括標記有[ResourceLoader]參數的小工具、大部分其他MediaWiki擴展、和一些MediaWiki的核心功能,其JavaScript和/或CSS可能被合併後載入。這(主要在JavaScript方面)會導致以下現象:如果其中一個部件含有代碼錯誤,其他同時載入的,即使編寫完全正常的部件可能不能工作。若您遇到了此類故障(或者,任何腳本故障,若您不能辨認的話),請按以下步驟測試後報告:

  1. 在遇到故障時,在網址欄的URL末尾加入debug=true參數重新打開。(如果URL中包含有?,則應在URL末尾加上&debug=true;不含則在末尾加入?debug=true
  2. 重新測試是否仍遇到故障。
    1. 若故障不再出現,通常是緩存問題。請清除瀏覽器緩存後再試試。
    2. 若故障仍然出現,請報告此時有故障的部件。如果可能,請提供錯誤信息。

若故障在已登錄時出現,請嘗試退出登錄以及清空緩存和Cookies後再試(或使用瀏覽器的隱私瀏覽模式),並檢查是否仍有故障。若故障仍然存在,請重複上面的步驟,並將相關信息同樣報告。

致開發者

[編輯]

目前(1.19)的大致腳本載入順序為:ResourceLoader小工具(可能為異步載入)、其他小工具、MediaWiki:Common.jsMediaWiki:skin_name.js、用戶JavaScript、用戶組JavaScript,因此在小工具執行時MediaWiki:Common.js中定義的函數可能不存在。目前部分中文維基百科常用函數(包括字詞轉換的wgULSwgUVS)存放於MediaWiki:Gadget-site-lib.js,若小工具代碼中使用了這些函數,應先通過ResourceLoader引入ext.gadget.site-lib模塊。