Chrome Extensions API リファレンス

このページは、Google Chrome Extension作成のための勉強過程で作成しました。基本的にはほぼ の意訳になっています。いずれ本体で日本語ページが用意されると思いますが、それまで便利に使ってもらえれば良いなと思います。

また、拡張機能を 自作 している過程で出たポイントを、逆引きコンテンツとして追加したりもしてあります。

全体を通じて、誤り等もあるかと思います。また、黎明期の機能であるため、実装がそもそもドキュメントと異なる点も散見されます。このサイトによって引き起こされるいかなる不都合についても当方は責任を負いかねますが、ご意見や指摘などは、以下のいずれかに頂ければ幸いです。

拡張機能作成のために

公式サイトにもありますが、順番としては、次のような感じがやはり良いのではないかと思います。

  1. はじめてみよう で、まずは動くものを作ってみる
  2. デバッグ方法 で、デベロッパーツールの使い方を簡単に見る
  3. 概要 で、今動いたそれが、どういった仕組みなのかを知る
  4. 必要/興味にあわせて 開発ガイド から、出来ることを知る
  5. 作りたいものを作りながら、必要に応じて リファレンス などを参照する

目次

  • チュートリアル
    • はじめてみよう : ブラウザアクションを使ったチュートリアル
    • デバッグ方法 : 拡張機能開発におけるデバッグの方法
  • 開発ガイド
    • 概要
    • ブラウザアクション : ブラウザ全体に適用される拡張機能
    • オプションページ : 拡張機能のオプション設定ページ
    • オーバーライド : Chromeが用意しているデフォルトのページを上書きする
    • ページアクション : ページごとに適用される拡張機能
    • テーマ : ブラウザのテーマ
    • お気に入り : お気に入りを操作する
    • イベント : Chrome APIが提供するイベントについて
    • タブ : タブを操作する
    • ウインドウ : ウインドウを操作する
      • カレント・ウインドウ : カレント・ウインドウという言葉の指すものについて
    • バックグラウンド・ページ : 拡張機能のバックグラウンドで動く共通機能
    • コンテント・スクリプト : 表示中のウェブページに適用するJavaScript
      • マッチパターン : コンテント・スクリプトを適用するURLの記述方法
    • 生成元横断XMLHttpRequest : 生成元をまたがって使えるXMLHttpRequestオブジェクト
    • 国際化 : 多言語対応方法
      • Chromeのロケール設定方法 : Google Chromeのロケール設定を変える方法
    • メッセージ : コンテント・スクリプトと拡張機能の通信について
    • NPAPIプラグイン : バイナリコードをJavaScriptから呼ぶためのプラグイン
    • 自動更新 : 拡張機能の自動更新機能
    • パッケージング : 拡張機能のパッケージ方法
  • リファレンス
    • フォーマット
      • Manifest File : マニフェストファイルの記述フォーマット
    • chrome.* API
      • chrome.bookmarks
        • BookmarkTreeNode : お気に入りを表すオブジェクト
        • create : お気に入りもしくはフォルダを新たに作成する
        • get : お気に入り又はフォルダを取得する
        • getChildren : 指定フォルダ下にあるお気に入りを取得する
        • getTree : お気に入りツリーを丸ごと取得する
        • move : お気に入りを別の場所に移す
        • onChanged : お気に入りが更新された際に呼び出されるイベント
        • onChildrenReordered : フォルダ内のお気に入りが並べ替えられた場合のイベント
        • onCreated : お気に入り又はフォルダが作成された場合に呼び出されるイベント
        • onMoved : お気に入り又はフォルダが他のフォルダに移動された際のイベント
        • onRemoved : お気に入り又はフォルダが削除された際に呼び出されるイベント
        • remove : お気に入り又は空のフォルダを削除する
        • removeTree : フォルダを再帰的に削除する
        • search : お気に入りツリーを検索する
        • update : お気に入り又はフォルダの設定を更新する
      • chrome.browserAction
        • onClicked : ブラウザアクションがクリックされた場合のイベント
        • setBadgeBackgroundColor : バッジの背景色を設定する
        • setBadgeText : バッジの文字列を設定する
        • setIcon : ブラウザアクションのアイコンを設定する
        • setTitle : ブラウザアクションのツールチップを設定する
      • chrome.extension
        • MessageSender : メッセージの送り手を表すオブジェクト
        • Port : 相互通信用の接続を表すオブジェクト
        • connect : 他のモジュールへ通信するための接続を試みる
        • getBackgroundPage : 拡張機能で使われているバックグラウンドページを返す
        • getExtensionTabs : 拡張機能が実行されているタブのDOMWindow配列を返す
        • getURL : 拡張機能フォルダへの相対パスを返す
        • getViews : 拡張機能で使っているビューのDOMWindowを返す
        • lastError : 最後に発生したエラーに関する情報
        • onConnect : 接続要求があった際に呼び出されるイベント
        • onConnectExternal : 他の拡張機能から接続要求があった場合に呼び出されるイベント
        • onRequest : メッセージを受信した際に呼び出されるイベント
        • onRequestExternal : 他の拡張機能からのメッセージを受信した際に呼び出されるイベント
        • sendRequest : 拡張機能内で単発メッセージを送信する
      • chrome.i18n
        • getAcceptLanguages : ブラウザの受け入れ言語を取得する
        • getMessage : 指定されたメッセージをローカライズされた文字列で取得する
      • chrome.pageAction
        • hide : ページアクションアイコンを非表示にする
        • onClicked : ページアクションがクリックされた場合のイベント
        • setIcon : ページアクションのアイコンを設定する
        • setTitle : ページアクションのツールチップを設定する
        • show : ページアクションのアイコンを表示する
      • chrome.tabs
        • Tab : タブを表すオブジェクト
        • captureVisibleTab : タブのキャプチャ画像を取得する
        • connect : タブに対してメッセージ送受信用の接続を確立する
        • create : 新しいタブを作成する
        • detectLanguage : タブ内のコンテンツの言語を調査する
        • executeScript : タブ内でスクリプトを実行する
        • get : 指定タブの詳細情報を取得する
        • getAllInWindow : 指定ウインドウにある全てのタブの情報を取得する
        • getSelected : 指定ウインドウで選択されているタブの情報を取得する
        • insertCSS : タブに任意のCSSを適用する
        • move : タブの位置を移動する
        • onAttached : タブがウインドウに入った際に呼び出されるイベント
        • onCreated : タブが作成された場合に呼び出されるイベント
        • onDetached : タブがウインドウから出て行った際に発生するイベント
        • onMoved : ウインドウ内でタブの位置が移動された際に発生するイベント
        • onRemoved : タブが閉じられた際に発生するイベント
        • onSelectionChanged : 選択されているタブが変わった際に発生するイベント
        • onUpdated : タブが更新された際に発生するイベント
        • remove : タブを閉じる
        • sendRequest : 単発通信を送信する
        • update : タブを更新する
      • chrome.windows
        • Window : ウインドウを表すオブジェクト
        • create : 新しいウインドウを開く
        • get : ウインドウの詳細情報を取得する
        • getAll : 全ウインドウの情報を取得する
        • getCurrent : カレント・ウインドウの情報を取得する
        • getLastFocused : 直近でフォーカスを持っているウインドウの情報を取得する
        • onCreated : 新規ウインドウが開かれた際に呼び出されるイベント
        • onFocusChanged : フォーカスのあるウインドウが変わった際に呼び出されるイベント
        • onRemoved : ウインドウが閉じられた際に呼び出されるイベント
        • remove : ウインドウを閉じる
        • update : ウインドウのプロパティを更新する
    • chrome.experimental.* API
      • chrome.experimental.history
        • 遷移タイプ : 訪問の遷移方法を示す定数
        • HistoryItem : 履歴クエリによる検索結果をあらわすオブジェクト
        • VisitItem : あるURLへの訪問を表現するオブジェクト
        • addUrl : URLを追加する
        • deleteAll : 全ての履歴を削除する
        • deleteRange : 指定した日付範囲の履歴を全て削除する
        • deleteUrl : 指定URLに関する全ての出来事を履歴から削除する
        • getVisits : 指定URLへの訪問に関する情報を取得する
        • onVisitRemoved : URLが履歴から削除された場合に発生するイベント
        • onVisited : 訪問が発生した際に呼び出されるイベント
        • search : 指定クエリの最終訪問日時を履歴から検索する
      • chrome.experimental.processes
        • Process : ブラウザのプロセス情報を持つオブジェクト
        • getProcessForTab : 指定タブで現在描画中のプロセスに関する情報を取得する
    • その他のAPI
  • 逆引き
    • バックグラウンド・ページの関数や変数をポップアップなどから扱う
    • JSONファイルのエンコーディング
    • ローカルストレージに配列やオブジェクトを格納する
    • ポップアップ内でのリンクを有効にする
  • 関連リンク