WebExtension用の JavaScript API は拡張機能のバックグラウンドスクリプトと、その他の拡張機能にバンドルした文書 (ブラウザーアクションページアクションポップアップやサイドバーオプションページ新規タブページを含む) で使用できます。いくつかの API は拡張機能のコンテンツスクリプトからもアクセスできます (コンテンツスクリプトガイドの表を見てください)。

もっと強力な API を使うには、拡張機能の manifest.json でパーミッションをリクエストする必要があります。

browser 名前空間内で API にアクセスできます:

function logTabs(tabs) {
  console.log(tabs);
}

browser.tabs.query({currentWindow: true}, logTabs);

API の多くは非同期で、Promise を返します:

function logCookie(c) {
  console.log(c);
}

function logError(e) {
  console.error(e);
}

var setCookie = browser.cookies.set(
  {url: "https://developer.mozilla.org/"}
);
setCookie.then(logCookie, logError);

これは Google Chrome の拡張機能システムでは違っていて、browser の代わりに chrome 名前空間を使い、promise や非同期関数の代わりにコールバックを使っているのに注意してください。移植の助けとして、WebExtensions API の Firefox 実装は browser と promise と同様に chrome とコールバックもサポートします。Mozilla は browser と promise を使うコードが Chrome で変更なく動作する polyfill も書いています: https://github.com/mozilla/webextension-polyfill.

Firefox は chrome 名前空間の下でコールバックを使う API も実装しています。これにより Chrome 向けのコードをここに文書化された API を使って、Firefox で大部分変更なしに実行させることができます。

Microsoft Edge は browser 名前空間を使いますが、promise ベースの非同期 API はサポートされていません。Edge では当面、非同期 API はコールバックを使うのが必須です。

すべてのブラウザーがすべての API をサポートしているわけではありません: 詳しくは  JavaScript API のブラウザーサポートを見てください。

alarms

コードが動作するタイミングを予約します。この API は setTimeout()setInterval() と似ていますが、 alarms API はバックグラウンドで動作する点が異なります。

API reference documentation

bookmarks

WebExtensions bookmarks API を利用すると、拡張機能からブラウザのブックマークシステムにアクセスしたり、操作することができます。ページをブックマークする、既存のブックマークを取得したり、ブックマークを編集・削除・整理することが可能です。

API reference documentation

browserAction

ブラウザーのツールバーにボタンを追加します。

API reference documentation

browserSettings

API reference documentation

browsingData

browsingData APIでは、ブラウズデータは下記の型に分けられます:

API reference documentation

clipboard

クリップボード API は、拡張機能がシステムのクリップボードに項目をクリップするのを可能にします。現在この API は画像のコピーだけをサボートしていますが、将来的にはテキストとHTMLのコピーをサボートする計画です。

API reference documentation

commands

commands manifest.json キーを使って、登録したコマンドをユーザーが実行するのをリッスンします。

API reference documentation

contextualIdentities

contextual identitiesの操作: contextual identities を一覧、作成、削除、更新します。

API reference documentation

cookies

拡張機能に cookie の取得と設定と、変更された時の通知を可能にします。

API reference documentation

devtools.inspectedWindow

devtools.inspectedWindow API によって開発ツール拡張機能では開発ツールが割当てられたウィンドウと相互作用できます。

API reference documentation

devtools.network

devtools.network API によって開発ツール拡張機能では開発ツールが付属しているウィンドウ(インスペクト対象ウィンドウ)に関連するネットワークリクエストの情報を取得できます。

API reference documentation

devtools.panels

devtools.panels API によって開発ツール拡張機能では開発ツールウィンドウ内のユーザーインターフェイスの定義ができます。

API reference documentation

downloads

拡張機能にブラウザーのダウンロードマネージャーとのやりとりを可能にします。このAPI モジュールを、ファイルマネージャーでのファイルのダウンロード、キャンセル、停止、ダウンロードの再開、ダウンロード済みのファイルの表示に使用できます。

API reference documentation

events

イベントをディスパッチする API から使われる共通の型です。

API reference documentation

extension

拡張機能に関連するユーティリティ。拡張機能のリソースパッケージのURLを取得したり、拡張機能のページの Window オブジェクトを取得したり、いろいろな設定の値を取得したりします。注意として、このモジュールのメッセージ APIs は非推奨で、 runtime モジュールの同様な API が好まれます。

API reference documentation

extensionTypes

その他の WebExtension API で使われる共通な型

API reference documentation

find

ウェブページのテキストを検索し、マッチしたものをハイライトします。

API reference documentation

history

ブラウザー履歴とやりとりする history API を使用します。

API reference documentation

i18n

拡張機能を国際化する関数です。これらの API は、拡張機能に同梱したロケールファイルからローカライズ文字列を取得したり、ブラウザーの現在の言語や、その Accept-Language ヘッダー を調べるために使用します。

API reference documentation

identity

ID の API を使って OAuth2 の認証コードやアクセストークンを取得し、拡張機能が OAuth2 アクセスをサポートするサービス(Google や Facebook アカウントなど)からのユーザーデータにアクセスできるようにします

API reference documentation

idle

ユーザーのシステムがアイドル状態、ロックされた状態、アクティブな状態であるのを発見します。

API reference documentation

management

インストール済みのアドオンの管理情報を取得する。

API reference documentation

ブラウザーのメニューシステムに項目を追加します。

API reference documentation

notifications

OS の通知メカニズムを使って、ユーザーへの通知を表示します。このAPI は OS の通知メカニズムを使うため、OS とユーザー設定によって通知の現れ方やふるまいは変わってきます。

API reference documentation

omnibox

拡張機能に、ユーザーがアドレスバーに入力した時のカスタマイズされた振る舞いを有効にします。

API reference documentation

pageAction

ページアクション は、ブラウザーのアドレスバーの中のクリックできるアイコンです。

API reference documentation

permissions

拡張機能は強力な WebExtension API の多くにアクセスするパーミッションが必要です。manifest.json の permissions キーに必要なパーミッションを入れることで、インストール時にパーミッションを要求できます。インストール時にパーミッションを要求する主なメリットは次の通り:

API reference documentation

pkcs11

pkcs11 API は拡張機能にセキュリティモジュール PKCS #11 の列挙を可能とし、キーの元と証明書としてブラウザーからアクセスできるようにします。

API reference documentation

privacy

さまざまなプライバシー関連のブラウザー設定にアクセスや変更を行います。

API reference documentation

proxy

拡張された Proxy Auto-Configuration (PAC) file (これはウェブのリクエストをプロキシ化するポリシーを実装します) を実装するのにプロキシ API を使います。この実装は標準の PAC 設計といくつかそれていて、なぜなら PAC ファイルのデファクト仕様は 1995年頃の初期実装から変えられてないためです。仕様を維持している標準化団体はありません。

API reference documentation

runtime

このモジュールは拡張機能と、それを実行する環境についての情報を提供します。

API reference documentation

sessions

セッション APIを使ってブラウザーが動作している間に閉じたタブやウィンドウを一覧、復帰します。

API reference documentation

sidebarAction

拡張機能のサイドバーのプロパティを取得、設定します。

API reference documentation

storage

拡張機能にデータの保存、取得と、保存項目の変化を律するできるようにします。

API reference documentation

tabs

ブラウザーのタブシステムとやりとりします。

API reference documentation

theme

ブラウザー拡張機能がブラウザーのテーマを更新できるようにします。

API reference documentation

topSites

topSites API を使うと、ブラウザーの「新しいタブ」ページに挙げられるすべてのサイトを含む配列を取得できます。

API reference documentation

types

ブラウザー設定を表すのに使われる BrowserSetting 型を定義します。

API reference documentation

webNavigation

ナビゲーションのいろいろな段階でイベントリスナーを追加します。ナビゲーションにはある URL から他に移動するブラウザーフレームにより成り立っていて、それは(いつもではなく)通常はリンクのクリックやロケーションバーへの URL 入力といったユーザー操作の応答として発生します。

API reference documentation

webRequest

HTTP リクエスト作成のいろいろなステージでイベントリスナーを追加します。イベントリスナーはリクエストの詳細情報を受け取ったり、リクエストを編集、修正したりします。

API reference documentation

windows

ブラウザーウィンドウと相互作用します。この API を使って開いているウィンドウの情報を取得したり、ウィンドウを開き、修正し、閉じることができます。ウィンドウのオープン、クローズ、アクティベートのイベントをリッスンすることもできます。

API reference documentation

ドキュメントのタグと貢献者

タグ: 
このページの貢献者: Uemmra3, hashedhyphen, wbamberg
最終更新者: Uemmra3,