3

私はデモデータを自動入力するためにクロム拡張機能を開発中です。私はデータを自動入力するためのJavaScriptファイル "xyz.js"を作成しました。 私はボタンをクリックしてスクリプトを実行しています chrome.tabs.executeScript(tabs[0].id, {file: "xyz.js"});そして、私は必要な出力を得ています。クロムエクステンションのコンテンツスクリプトとバックグラウンドスクリプトは正確に何ですか?

私はコンテンツスクリプトまたはバックグラウンドスクリプトを使用していません。コンテンツスクリプトやバックグラウンドスクリプトを使用して得られるメリットは?

+1

'chrome.tabs.executeScript(tabs [0] .id、{file:" xyz.js "});'あなたが*コンテンツスクリプトを使用していることを意味します:* xyz.js *。さらに、 'chrome.tabs.executeScript()'の呼び出しはバックグラウンドコンテキストで実行されていますが、おそらくポップアップ(推測の中)から実行されています。 – Makyen

+1

[Chrome拡張機能の概要](https://developer.chrome.com/extensions/overview)(また概要からリンクされているページを参照)を読むことをお勧めします。 [アーキテクチャのセクション](https://developer.chrome.com/extensions/overview#arch)には、物事の一般的な構成/実行方法を理解するのに役立つ全体的なアーキテクチャ情報があります。また、[Content Scripts](https://developer.chrome.com/extensions/content_scripts)、[Message Passing](https://developer.chrome.com/extensions/messaging)もお読みください。 – Makyen

答えて

6

まず、コンテンツスクリプトを使用しています。ここでは、イベントを通してコンテンツスクリプトの実行を制御するだけです。

背景スクリプトは自分のバックグラウンドで実行され、ユーザーがChromeブラウザと対話しながら、

ながらコンテンツスクリプト(例えばタブのクリックイベントをリッスンとして)トリガを待ち受けに何かあります実際にはウェブページ(本質的にDOM要素)と対話します。今

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

Hereはすべてコンテンツスクリプトを挿入する方法です。

+0

ここで、manifest.jsonにコンテンツスクリプトを含めると、ページが更新された直後にコンテンツスクリプトを読み込むことができることが分かりました。コンテンツスクリプトをマニフェストに保存したいのに、ボタンをクリックしたときにだけトリガーしたい場合はどうすればよいですか? –

+0

@ParagBandewarその場合、関数内でコードを移動し、ボタンがクリックされたときに呼び出します。 –

+0

https://stackoverflow.com/questions/44909642/how-to-get-background-script-to-call-function-in-content-script-for-chrome-extenに関するご意見 – SuperUberDuper

2

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

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

バックグラウンドスクリプトはページのDOMにアクセスできませんが、拡張機能のAPIに完全にアクセスできます。

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

クロムエクステンションのアーキテクチャに関する詳細情報があります。そこにはコンテンツと背景のスクリプトに関する情報もあります。 https://developer.chrome.com/extensions/overview

1

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

クリックして何かを表示する拡張機能があるとすると、それはダムにしておくことができます。主な機能は、background.jsと他のコンテンツスクリプトの中に記述することができます。background.jsを持つ単純な意味で

は、代わりにコンテンツスクリプト効率を向上させ、それがGoogle拡張機能の開発者が示唆するものです。最後に、実行しているファイル自体がWebページと対話するコンテンツスクリプトです。 manifest.jsonファイルのコンテンツスクリプトセクションの下にファイルのエントリがあることを願っています。

関連する問題