マニフェスト - ウェブでアクセス可能なリソース

ウェブページのコンテキストで使用できることが期待されるパッケージ化リソースのパスを指定する文字列の配列。これらのパスはパッケージのルートからの相対パスであり、ワイルドカードを含めることができます。たとえば、example.com のカスタム インターフェースを構築する目的でコンテンツ スクリプトを挿入する拡張機能では、インターフェースが必要とするリソース(画像、アイコン、スタイルシート、スクリプトなど)を次のように使用できます。

{
  ...
  "web_accessible_resources": [
    "images/*.png",
    "style/double-rainbow.css",
    "script/double-rainbow.js",
    "script/main.js",
    "templates/*"
  ],
  ...
}

これらのリソースは、extension.getURL メソッドで生成できる URL chrome-extension://[PACKAGE ID]/[PATH] を介してウェブページで使用できるようになります。許可リストに登録されたリソースは適切な CORS ヘッダーで提供されるため、XHR などのメカニズムで使用できます。

ウェブオリジンから拡張機能リソースへのナビゲーションは、リソースがウェブアクセス可能なものとして登録されていない限り、ブロックされます。次のような特殊なケースに注意してください。

  • 拡張機能が webRequest API または declarativeWebRequest API を使用してパブリック リソースのリクエストをウェブにアクセスできないリソースにリダイレクトする場合、そのようなリクエストもブロックされます。
  • ウェブにアクセスできないリソースがリダイレクト拡張機能によって所有されている場合でも、上記は当てはまります。

コンテンツ スクリプト自体を許可リストに登録する必要はありません。

マニフェスト バージョン 2 より前は、拡張機能内のすべてのリソースにウェブ上の任意のページからアクセスできました。これにより、悪意のあるウェブサイトが、ユーザーがインストールした拡張機能のフィンガープリントや、インストールされた拡張機能の脆弱性(XSS バグなど)を悪用するおそれがあります。ウェブアクセスが明示的に意図されているリソースのみに限定することで、利用可能な攻撃対象領域を最小化し、ユーザーのプライバシーを保護できます。

デフォルトの利用可能状況

manifest_version 2 以降を使用するパッケージ内のリソースは、デフォルトでブロックされているため、このプロパティを介して使用するには許可リストに登録する必要があります。

manifest_version 1 を使用するパッケージ内のリソースはデフォルトで使用できますが、このプロパティを設定すると、許可リストに登録されたすべてのリソースの完全なリストとして扱われます。if リストにないリソースはブロックされます。