--- title: contentScripts slug: Mozilla/Add-ons/WebExtensions/API/contentScripts tags: - API - Extensions - Interface - WebExtensions - contentScripts - インタフェース - コンテントスクリプト - 拡張機能 translation_of: Mozilla/Add-ons/WebExtensions/API/contentScripts ---
このAPIはコンテントスクリプトを登録するためにお使いいただけます。コンテントスクリプトを登録することで、指定したURLにマッチするページにそのスクリプトを挿入するようブラウザに指定することができます。
このAPIはmanifest.json
にある"content_scripts"キーと似ていますが、"content_scripts"ではコンテントスクリプトとURLのパターンはインストールタイムに固定されます。一方content_scripts
APIは、ランタイム(実行時)でスクリプトを登録・登録解除することが可能です。
このAPIは、{{WebExtAPIRef("contentScripts.register()")}} メソッドを呼び出して使用していただけます。その際は、登録するコンテントスクリプト、URLのマッチングパターン、またその他のオプションを実引数(arguments)として渡してください。このメソッドは{{WebExtAPIRef("contentScripts.RegisteredContentScript")}} オブジェクトがresolveされた Promise
を返します。
RegisteredContentScript
オブジェクトは register()
で登録されたスクリプトを保持し、unregister()
でそのスクリプトを登録解除(unregister)できます。また、コンテントスクリプトはそれらを作ったページが消された際にも自動的に登録解除されます。例えば、backgroundページによって登録されたコンテントスクリプトは、backgroundページが消去された際に自動的に登録解除されます。
contentScripts
API にパーミッションは存在しませんが、拡張機能はregister()でマッチさせるURLにおいては適切なhost permissionsを持っている必要があります。
このタイプのオブジェクトは{{WebExtAPIRef("contentScripts.register()")}}関数の返り値です。{{WebExtAPIRef("contentScripts.register()")}}関数で登録されたコンテントスクリプトを持ち、このオブジェクトを使ってそれらを登録解除することができます。
{{Compat("webextensions.api.contentScripts", 10, 1)}}
{{WebExtExamples("h2")}}