chrome extension-概要
2198 ワード
chrome extensionは、chromeブラウザの機能を変更し、強化できる小型のプログラムです.Webテクノロジー(HTML、CSS、JavaScriptなど)を使用して作成できます.拡張は圧縮されたパッケージで、HTML、CSS、JavaScript、画像、または必要なリソースが含まれています.本質的には、拡張はWebページであり、ブラウザを使用してWebページに提供されるAPI、例えばXMLHttpRequest、JSON、HTML 5などを使用することもできます.
拡張ユーザーインタフェースのタイプ
browser action:ほとんどのWebページを操作する場合に、このタイプを使用します. page action:拡張子が一部のWebページのみを操作する場合、このタイプを使用できます.
拡張ディレクトリ構造
manifest.json HTMLファイル オプションのJSファイル オプションのその他のファイル(画像、フォントなど) 拡張子を配布すると、これらのコンテンツは
拡張では、相対URLを使用してファイルを参照できます.
絶対URLを使用してファイルを参照することもできますが、この場合は事前定義情報
manifest.jsonには、
拡張アーキテクチャ
persistent background pages: ずっと開いています event pages:必要に応じて をオンおよびオフにします.
ブラウザでロードしたWebページと対話する必要がある場合はcontent scriptを使用する必要があります.content scriptはブラウザがロードしたウェブページのコンテキストで実行され、ブラウザがロードしたウェブページの一部と見なすことができる.
content scriptでは、現在閲覧しているWebページの内容を変更できますが、拡張background pageは変更できません.もちろんcontent scriptも拡張と完全に分離されていないので、拡張と情報を交換することができます.
拡張中のHTMLページでは、他のページのDOMにアクセスしたり、他のページの関数を呼び出したりすることができます.
chrome.* API
拡張ユーザーインタフェースのタイプ
拡張されたユーザーインタフェースのタイプは2種類あります.
拡張ディレクトリ構造
1つの拡張機能には、通常、次のファイルが含まれます.
.crx
という接尾辞のZIPファイルにパッケージされます.リファレンスファイル
拡張では、相対URLを使用してファイルを参照できます.
![](./images/foo.png)
絶対URLを使用してファイルを参照することもできますが、この場合は事前定義情報
@@extension_id
を使用する必要があります.![](chrome-extension://__MSG_@@extension_id__/images/foo.png)
manifest
manifest.jsonには、
package.json
のような拡張の重要な情報が含まれています.拡張アーキテクチャ
多くの拡張には、拡張の主な論理を含む隠れたページが含まれています.このページはbackground page
です.ユーザーがロードしたWebページとインタラクティブに拡張する場合は、content script
に使用する必要があります.
background page
background pageはbackground.html
によって定義され、background.html
は拡張動作を制御するJSコードを含むことができる.background pageは、次の2つに分類できます.
content script
ブラウザでロードしたWebページと対話する必要がある場合はcontent scriptを使用する必要があります.content scriptはブラウザがロードしたウェブページのコンテキストで実行され、ブラウザがロードしたウェブページの一部と見なすことができる.
content scriptでは、現在閲覧しているWebページの内容を変更できますが、拡張background pageは変更できません.もちろんcontent scriptも拡張と完全に分離されていないので、拡張と情報を交換することができます.
UI pages
拡張中のHTMLページでは、他のページのDOMにアクセスしたり、他のページの関数を呼び出したりすることができます.
chrome.* API
拡張は、ブラウザがWebページに提供するAPIにアクセスするだけでなく、chrome-only APIにもアクセスできます.
ストレージデータ
拡張はstorageAPI、HTML 5 web storage API、またはサーバを使用してデータを格納できます.
ステルスモード incognito mode
は、ウィンドウに痕跡が残らないことを保証します.したがって,ステルスモードでのデータを処理する場合,できるだけそれに従う.
関連tabs.タブかwindowWindowのincognito
プロパティは、ステルスモードにあるかどうかを判断します.
拡張はstorageAPI、HTML 5 web storage API、またはサーバを使用してデータを格納できます.