清单 - 网络可访问的资源

一个字符串数组,用于指定应在 网页的上下文。这些路径是相对于软件包根目录的路径,可能包含通配符。对于 例如,可注入内容脚本以构建一些自定义 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 等机制。

从网站源导航到扩展程序资源将被阻止,除非相应资源 列为可通过网络访问请注意以下特殊情况:

  • 当扩展程序使用 webRequestdeclarativeWebRequest API 将一个公共网页重定向 向不可网络访问的资源发出的资源请求,此类请求也会被屏蔽。
  • 即使无法通过 Web 访问的资源归重定向 。

内容脚本本身无需列入许可名单。

在清单版本 2 之前,扩展程序内的所有资源均可通过 。这使得恶意网站能够指纹用户已安装的扩展程序 或利用已安装的扩展程序中的漏洞(例如 XSS bug)。限制 但对于明确计划为网络可访问的资源, 以尽可能缩小受攻击面并保护用户隐私。

默认可用性

使用 manifest_version 2 或更高版本的软件包内的资源默认被屏蔽, 并且必须列入可通过此属性使用的许可名单。

使用 manifest_version 1 的软件包内的资源在默认情况下可供使用,但如果您使用 设置此属性,便会将其视为所有列入许可名单资源的完整列表。 未列出的资源将被屏蔽。