前回は2種類あるWeb Appsのうち、
Packaged Appsとは
Packaged Appsは、
Packaged Appsの作成方法
Packaged Appsは、
Webアプリの名称など任意の名前を付けたフォルダを作成し、
マニフェストファイルの作成
マニフェストファイルとして、
マニフェストファイル中の "name" と、
また、
Hosted Appsと同様にマニフェストファイルに記載された内容がWebアプリの詳細画面に表示されますので、
その他のPackaged Appsで設定するマニフェストファイルの内容については、
フィールド名 | 必須 | 説明 |
---|---|---|
name | ○ | Webアプリの名前 |
description | Webアプリの説明 | |
version | ○ | バージョン番号 ドット区切りの数字 |
app | ||
launch | ||
local_ |
○ | Webアプリのトップページ |
container | Webアプリが起動するコンテナの形態 "tab" もしくは "panel" を指定します。デフォルトは "tab" |
|
height | containerに "panel" を指定した場合、 |
|
width | containerに "panel" を指定した場合、 |
|
icons | ||
16 | タブなどに表示されるWebアプリのfavicon | |
128 | ○ | Chrome Web Storeおよび新しいタブページで表示されるWebアプリのアイコン |
background_ |
バックグラウンドで動作するページを指定 | |
chrome_ |
ブックマークページや履歴ページ、 |
|
content_ |
任意のページでJavaScriptやCSSを挿入する | |
matches | JavaScriptやCSSを挿入するURLを指定 "http:// |
|
css | 挿入するCSSファイルを指定 | |
js | 挿入するJavaScriptファイルを指定 | |
run_ |
挿入するタイミングを指定 "document_ |
|
homepage_ |
ホームページのURLを指定 | |
incognito | 匿名モードの際にWebアプリのプロセスを共有する "spanning" か、 デフォルトは "split" |
|
minimum_ |
Webアプリがインストール可能なChromeブラウザの最低バージョン | |
omnibox | Chromeのアドレスバーを拡張する | |
options_ |
Webアプリのオプション設定ページを指定 | |
permissions | Webアプリが利用する外部リソースやAPI、 "http:// "background" "bookmarks" "contextMenus" "cookies" "geolocation" "history" "idle" "management" "notifications" "tabs" "unlimitedStorage" |
Extensionsで利用可能な "browser_
利用可能なAPIの概要
Packaged Appsで利用可能なAPIについて概要を説明します。Hosted Appsでも利用可能なGeolocation APIとNotification API、
各APIの詳細については、
- Background Page
任意のページをバックグラウンドで動作させることができます。処理の重いスクリプトや外部リソースへのアクセスなどで時間が掛かるスクリプトなどを実行します。また、
後述するContent Scriptsなどとの連携が可能ですので、 共通処理などをBackground Pageに置いて各ページで呼び出して利用することもできます。 - Content Scripts
特定のページに対して、
任意のスクリプトを実行することや任意のスタイルを適用することができます。"content_ scripts" の "matches" で指定されたURLにマッチするページに対して、 "js"、 "css" でそれぞれ指定されたJavaScriptファイルやCSSファイルが "run_ at" で指定されたタイミングで挿入されます。また、 chrome. extension. sendRequestなどのメソッドを通して、 Background Pageと連携することも可能です。 - Bookmarks
Chromeのブックマークを操作することができます。"permissons" に "bookmarks" を指定することで利用可能です。chrome.
bookmarks以下の各メソッドでブックマークの作成や更新、 削除のほか、 検索や移動などの操作をすることができます。また、 各操作のイベントなどを受け取ることもできます。 - Context Menus
コンテキストメニューを拡張することができます。"permissons" に "contextMenus" を指定することで利用可能です。chrome.
contextMenus以下の各メソッドでコンテキストメニューの作成や更新、 削除などの操作をすることができます。"icons" の "16" で指定されたアイコンがコンテキストメニューに表示されます。 - Cookies
クッキーの内容を操作することができます。"permissons" に "cookies" とクッキーを操作する対象のドメインを指定することで利用可能です。chrome.
cookies以下の各メソッドでクッキーの取得や設定、 削除などの操作をすることができます。また、 クッキーの内容に変化があった場合のイベントなどを受け取ることができます。 - History
Chromeの履歴を操作することができます。"permissons" に "history" を指定することで利用可能です。chrome.
history以下の各メソッドで履歴の追加や削除、 検索などの操作をすることができます。また、 履歴の追加や削除のイベントなどを受け取ることができます。 - Idle
Chromeの現在の状態を取得することができます。"permissions" に "idle" を指定することで利用可能です。chrome.
idleのqueryStateメソッドで、 Chromeブラウザ上で一定時間の間に操作がなかったことを通知することができます。また、 Chromeの状態がアクティブに変わった場合のイベントを受け取ることができます。 - Management
ChromeにインストールされているExtensionsやWeb Appsの管理を行うことができます。"permissions" に "management" を指定することで利用可能です。chrome.
management以下の各メソッドでインストールされているExtensionsやWeb Appsの詳細を取得することや、 有効・ 無効の切り替え、 アンインストールなどを行うことができます。また、 有効・ 無効の切り替えやインストール・ アンインストールなどをイベントで受け取ることができます。 - Tabs/
Windows Chromeのタブやウィンドウを操作することができます。"permissions" に "tabs" を指定することで利用可能です。chrome.
tabsやchrome. windows以下のメソッドでタブ/ ウィンドウの選択や作成、 削除、 移動などの操作をすることができます。その他、 画面のキャプチャを取得することや任意のスクリプト実行することも可能です。また、 タブ/ ウィンドウの各操作のイベントなどを受け取ることができます。
Packaged Appsのサンプル
画面上に
Packaged Appsの公開
Packaged Appsの公開については、
まとめ
今回は、
Chrome Web Store/