web-dev-qa-db-ja.com

chrome拡張機能のコンテンツスクリプトとバックグラウンドスクリプトは正確には何ですか?

デモデータを自動入力するためのchrome拡張機能)に取り組んでいます。データを自動入力するためのJavaScriptファイル「_xyz.js_」を作成しました。そのため、スクリプトを実行しています。 chrome.tabs.executeScript(tabs[0].id, {file: "xyz.js"});のボタンをクリックすると、必要な出力が得られます。

コンテンツスクリプトまたはバックグラウンドスクリプトを使用していません。コンテンツスクリプトまたはバックグラウンドスクリプトを使用すると、どのようなメリットがありますか?

7
Parag Bandewar

まず第一に、あなたは確かにコンテンツスクリプトを使用しています。ここでは、イベントを介してコンテンツスクリプトの実行を制御しているだけです。

バックグラウンドスクリプトは、バックグラウンドで実行され、ユーザーがchromeブラウザ(例など)を操作している間、トリガーをリッスンするものです。タブのクリックイベントをリッスンします)

コンテンツスクリプトは、実際にWebページ(基本的にはDOM要素)と対話するスクリプトです。

さて、あなたのメソッドマニフェストにそれらを含めることの違いはマニフェストに含まれている場合、コンテンツスクリプトはページが読み込まれるとすぐに読み込まれるため、(この場合は)データが同時に自動入力され、chrome.tabs.executeScript(tabs[0].id, {file: "xyz.js"});は特定のトリガーイベント時にコンテンツスクリプトを読み込みます。したがって(この場合)トリガー(ボタンのクリックなど)でデータを自動入力します。

ここ は、コンテンツスクリプトを挿入するためのすべてのメソッドです。

9
Chirag Arora

background.jsファイルとコンテンツスクリプトを使用する主な目的は、拡張機能のパフォーマンスを向上させることです。

クリック時に何かを表示する拡張機能があるとすると、それはばかげたままにすることができます。主な機能は、background.jsやその他のコンテンツスクリプト内に記述できます。これらのスクリプトは、私たちが愚かだったビューにデータを入力します。

簡単に言うと、background.jscontent scriptsを配置すると効率が向上し、それがGoogle拡張機能の開発者が提案するものです。そして最後に、実行しているファイルは、Webページと対話するときにそれ自体がコンテンツスクリプトです。マニフェスト.jsonファイルのコンテンツスクリプトセクションの下にファイルのエントリがあることを願っています

2
mbvee

chrome拡張機能でスクリプトを実際に実行することは、コンテンツスクリプトを使用する別の方法です。コンテンツスクリプトは、拡張機能のマニフェストで定義することもできます。

間もなく、コンテンツスクリプトは拡張APIのごく一部にアクセスでき、ページのDOMで完全に機能します。マニフェストで定義されている場合、または使用しているAPIを使用して挿入できる場合は、自動的にナビゲートされるときにページに読み込まれますが、最終的な結果は同じです。

バックグラウンドスクリプトはページのDOMにアクセスできませんが、拡張機能のAPIへのフルアクセスを提供します。

拡張機能はブラウザが閉じられるまで存続するため、バックグラウンドスクリプトで拡張機能の状態を保存します。

chrome拡張機能のアーキテクチャに関する詳細情報がたくさんあります。また、コンテンツとバックグラウンドスクリプトに関する情報もあります。 https://developer.chrome.com/extensions/概要

2