contentScripts

このAPIはコンテントスクリプトを登録するためにお使いいただけます。コンテントスクリプトを登録することで、指定したURLにマッチするページにそのスクリプトを挿入するようブラウザに指定することができます。

このAPIはmanifest.jsonにある"content_scripts"キーと似ていますが、"content_scripts"ではコンテントスクリプトとURLのパターンはインストールタイムに固定されます。一方content_scripts APIは、ランタイム(実行時)でスクリプトを登録・登録解除することが可能です。

このAPIは、contentScripts.register() メソッドを呼び出して使用していただけます。その際は、登録するコンテントスクリプト、URLのマッチングパターン、またその他のオプションを実引数(arguments)として渡してください。このメソッドはcontentScripts.RegisteredContentScript オブジェクトがresolveされた Promise を返します。

RegisteredContentScript オブジェクトは register() で登録されたスクリプトを保持し、unregister()でそのスクリプトを登録解除(unregister)できます。また、コンテントスクリプトはそれらを作ったページが消された際にも自動的に登録解除されます。例えば、backgroundページによって登録されたコンテントスクリプトは、backgroundページが消去された際に自動的に登録解除されます。

contentScripts API にパーミッションは存在しませんが、拡張機能はregister()でマッチさせるURLにおいては適切なhost permissionsを持っている必要があります。

Types

contentScripts.RegisteredContentScript

このタイプのオブジェクトはcontentScripts.register()関数の返り値です。contentScripts.register()関数で登録されたコンテントスクリプトを持ち、このオブジェクトを使ってそれらを登録解除することができます。

Functions

contentScripts.register()
コンテントスクリプトを登録します。

ブラウザの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxOperaAndroid 版 Firefox
RegisteredContentScriptChrome 未対応 なし
補足
未対応 なし
補足
補足 There is a polyfill available.
Edge 未対応 なしFirefox 完全対応 59Opera 未対応 なしFirefox Android 完全対応 59
RegisteredContentScript.unregisterChrome 未対応 なし
補足
未対応 なし
補足
補足 There is a polyfill available.
Edge 未対応 なしFirefox 完全対応 59Opera 未対応 なしFirefox Android 完全対応 59
registerChrome 未対応 なし
補足
未対応 なし
補足
補足 There is a polyfill available.
Edge 未対応 なしFirefox 完全対応 59Opera 未対応 なしFirefox Android 完全対応 59

凡例

完全対応  
完全対応
未対応  
未対応
実装ノートを参照してください。
実装ノートを参照してください。

Example extensions