ウェブ API

chrome.* API を使用すると、ブラウザがウェブページとアプリに提供するすべての API を拡張機能で使用できます。使用する API をブラウザがサポートしていない場合は、追加の API ライブラリを拡張機能にバンドルできます。

拡張機能で使用できる API の例を次に示します。

標準の JavaScript API
これらの API は、通常のウェブアプリで使用できる JavaScript およびドキュメント オブジェクト モデル(DOM)のコア API と同じです。
XMLHttpRequest
XMLHttpRequest を使用して、1 つ以上のサーバーにデータをリクエストします。マニフェストの permissions フィールドには、拡張機能がリクエストを送信できるホストを指定します。
HTML とその他の新しい API

Google Chrome は、最新の HTML 機能とその他の新しい API をサポートしています。使用できる API は次のとおりです。

  • 音声(チュートリアル
  • アプリケーション キャッシュ(チュートリアル
  • canvas(記事
  • 全画面表示(記事
  • Chrome アプリでは、ユーザーに確認メッセージを表示したり終了手順を提供したりすることなく、全画面表示に切り替えられます。 HTML5 全画面を使用するには、マニフェストで app.window.fullscreen 権限が必要です。通常のウェブページでは、ブラウザは Esc キーをインターセプトしてポインタのロックを終了し、ユーザーに一貫したエスケープ方法を提供できるようにします。これは Chrome アプリの場合も同様です。ただし、app.window.fullscreen.overrideEsc 権限を使用してキーダウン イベントやキーアップ イベントで preventDefault を呼び出せるようにします。
  • 位置情報(チュートリアル
  • ローカル ストレージ(チュートリアル
  • 通知(チュートリアル
  • ポインタのロック(チュートリアル
  • Chrome アプリでは、ユーザー操作や、終了手順の表示を必要とせずに、ポインタロックが適用されます。ポインタのロックには、マニフェストで pointerlock 権限が必要です。 また、デフォルトの exit 動作もありません。通常のウェブページでは、ブラウザが Esc キーをインターセプトしてポインタのロックを終了します。この動作は Chrome アプリには存在しません。
  • 動画(チュートリアル
  • ウェブ データベース(チュートリアル

HTML5 に関する情報、チュートリアル、インタラクティブなプレイグラウンド、その他のリソースへのリンクについては、html5rocks.com をご覧ください。

ウェブ API

拡張機能でウェブ API を使用できます。フィルタ、アニメーション、変換などの CSS 機能は、特に便利です。WebKit スタイルを使用して UI を回転させる例を以下に示します。

<style>
  div:hover {
    transform: rotate(360deg);
    transition: all 1s ease-out;
  }
</style>
JSON などの V8 API

JSON は V8 であるため、JSON 関数を使用するために JSON ライブラリを含める必要はありません。

バンドル ライブラリ内の API

ブラウザで提供されていないライブラリ(jQuery など)を使用する場合は、そのライブラリの JavaScript ファイルを拡張機能にバンドルできます。バンドルされたライブラリは、他のウェブページと同様に拡張機能でも機能します。