說明:ResourceLoader
自1.17版本開始,MediaWiki引入了ResourceLoader將多個JavaScript和/或CSS合併及壓縮後傳送,以加速載入。這可能對本地開發工作帶來一些影響。
致使用者
對於所有使用ResourceLoader的部件,包括標記有[ResourceLoader]參數的小工具、大部分其他MediaWiki擴展、和一些MediaWiki的核心功能,其JavaScript和/或CSS可能被合併後載入。這(主要在JavaScript方面)會導致以下現象:如果其中一個部件含有代碼錯誤,其他同時載入的,即使編寫完全正常的部件可能不能工作。若您遇到了此類故障(或者,任何腳本故障,若您不能辨認的話),請按以下步驟測試後報告:
- 在遇到故障時,在網址欄的URL末尾加入
debug=true
參數重新打開。(如果URL中包含有?
,則應在URL末尾加上&debug=true
;不含則在末尾加入?debug=true
) - 重新測試是否仍遇到故障。
- 若故障不再出現,通常是緩存問題。請清除瀏覽器緩存後再試試。
- 若故障仍然出現,請報告此時有故障的部件。如果可能,請提供錯誤信息。
- Mozilla Firefox、Iceweasel、Google Chrome、Chromium:按下Ctrl+⇧ Shift+J後重新載入頁面,複製其中的錯誤信息。
- 其他瀏覽器:(請補充)。
若故障在已登錄時出現,請嘗試退出登錄以及清空緩存和Cookies後再試(或使用瀏覽器的隱私瀏覽模式),並檢查是否仍有故障。若故障仍然存在,請重複上面的步驟,並將相關信息同樣報告。
致開發者
目前(1.19)的大致腳本載入順序為:ResourceLoader小工具(可能為異步載入)、其他小工具、MediaWiki:Common.js
和MediaWiki:skin_name.js
、用戶JavaScript、用戶組JavaScript,因此在小工具執行時MediaWiki:Common.js
中定義的函數可能不存在。目前部分中文維基百科常用函數(包括字詞轉換的wgULS
和wgUVS
)存放於MediaWiki:Gadget-site-lib.js
,若小工具代碼中使用了這些函數,應先通過ResourceLoader引入ext.gadget.site-lib
模塊。