指定封裝資源路徑的字串陣列,這些資源將可在網頁內容中使用。這些路徑是與套件根目錄相對的路徑,且可能包含萬用字元。舉例來說,如果擴充功能插入內容指令碼,並想為 example.com
建構某些自訂介面,則該擴充功能可允許任何介面所需的資源 (圖片、圖示、樣式表、指令碼等),如下所示:
{
...
"web_accessible_resources": [
"images/*.png",
"style/double-rainbow.css",
"script/double-rainbow.js",
"script/main.js",
"templates/*"
],
...
}
接著,這些資源就能透過 chrome-extension://[PACKAGE ID]/[PATH]
網址在網頁中取得,您可以使用 extension.getURL 方法產生。加入許可清單的資源會透過適當的 CORS 標頭提供,因此可透過 XHR 等機制使用。
除非資源標示為可供網路存取,否則從網路來源到擴充功能資源的瀏覽都會遭到封鎖。請注意以下極端情況:
- 當擴充功能使用 webRequest 或 declarativeWebRequest API 將公開資源要求重新導向至無法存取的網路資源時,系統也會封鎖這類要求。
- 即使無法存取網路的資源是由重新導向擴充功能擁有,上述做法也是如此。
內容指令碼本身不必加入許可清單。
在資訊清單第 2 版之前,擴充功能內的所有資源皆可透過網路上的任何頁面存取。這可讓惡意網站在使用者安裝的擴充功能中安裝或利用安全漏洞 (例如 XSS 錯誤) 來指紋。將可用性限制在明確預計可供網路存取的資源,這樣可以盡量減少可用攻擊途徑,並保護使用者隱私。
是否預設為提供
使用 manifest_version
2 以上版本的套件內部資源會預設封鎖,您必須加入許可清單,才能透過這個屬性使用這些資源。
根據預設,系統會提供使用 manifest_version
1 的套件內的資源,但if如果您設定這個屬性,系統會將該資源視為所有許可清單資源的完整清單。系統不會封鎖未列出的資源。