chrome extension-概要

2198 ワード

chrome extensionは、chromeブラウザの機能を変更し、強化できる小型のプログラムです.Webテクノロジー(HTML、CSS、JavaScriptなど)を使用して作成できます.拡張は圧縮されたパッケージで、HTML、CSS、JavaScript、画像、または必要なリソースが含まれています.本質的には、拡張はWebページであり、ブラウザを使用してWebページに提供されるAPI、例えばXMLHttpRequest、JSON、HTML 5などを使用することもできます.

拡張ユーザーインタフェースのタイプ


拡張されたユーザーインタフェースのタイプは2種類あります.
  • browser action:ほとんどのWebページを操作する場合に、このタイプを使用します.
  • page action:拡張子が一部のWebページのみを操作する場合、このタイプを使用できます.

  • 拡張ディレクトリ構造


    1つの拡張機能には、通常、次のファイルが含まれます.
  • manifest.json
  • HTMLファイル
  • オプションのJSファイル
  • オプションのその他のファイル(画像、フォントなど)
  • 拡張子を配布すると、これらのコンテンツは.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つに分類できます.
  • persistent background pages:
  • ずっと開いています
  • event pages:必要に応じて
  • をオンおよびオフにします.

    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プロパティは、ステルスモードにあるかどうかを判断します.