続・先取り! Google Chrome Extensions

第3回 Extensionの新仕様とPageAction

この記事を読むのに必要な時間:およそ 2.5 分

こんにちは,株式会社ALBERTの太田です。今回はPageActionの新バージョンやTabs APIの新仕様などについて解説します。

Chromeの最新動向

と,その前にいくつかニュース的な情報がありますので,まずはそちらを紹介します。

Chrome 4系列のbeta版がリリース

2009年11月3日にChrome 4系列のbeta版がリリースされました。4系列ということでExtensionsが使えるかと思いきや,Chrome 3の時と同様にExtensionsは強制的に無効になっており,有効にすることはできません。

目玉機能はブックマークの同期機能(Googleブックマークではなく,Google Docsを使って同期されます)です。そのほかでは,stable版のChrome 4に搭載される予定の(HTML5関連の)WebDatabases,WebStorage,WebSockets,Remote fontなどはデフォルトではOFFになっています。今回のbeta版のリリースはブックマーク同期と安定性の向上がメインとなっています。来月のbeta版の更新ではExtensionsが有効になると期待していますが,まだどうなるかはわかりません。

試験的なGreasemonkey対応

2009年11月7日のdev版の更新で,FirefoxのGreasemonkey用に公開されているuser.jsファイルをExtensionとしてインストールする機能が使用できるようになりました。userscripts.orgなど,ウェブ上で公開されている.user.jsファイルをクリックするとExtensionとしてインストールするかどうか選択するダイアログが出てきますので,インストールを選べばそのスクリプトがExtensionとしてインストールされます。

内部的には.user.jsファイルをContent Scriptsとして実行するように,manifest.jsonの自動生成などを行っています。しかしながら,⁠2009年11月6日の時点では)前回の記事でも紹介しました通り,GM関数などの対応は十分ではありません。インストールはできても動かない(内部ではエラーになっている)こともありますので注意が必要です。

ExtensionのAPI仕様が修正

第1回でお伝えした通り,Toolstripsの削除が決定したほかにも,いくつかの仕様変更がありました。中でもPageActionはBrowserActionに合わせる形で大きな変更がありましたので,詳細は後ほど解説します。ほかにも,下記のような変更がありました。

  • Extensionsの設定を行えるOptions Pageの追加
  • NewTabページをカスタマイズできるAPINew Tab Pagesの追加
  • Content Scriptsの実行タイミングにdocument_idle(DOMContentLoadedより後で,onloadの前後)が追加されて,且つdocument_idleがデフォルトになりました
  • Installed Extensions(chrome://extensions/)ページのデザイン改良が行われました図1
  • chrome.tabs.sendRequestchrome.extension.onRequestというconnectionを使わないメッセージ送信APIが追加されました
  • chrome.extension.getTabContentsesというAPIがchrome.extension.getExtensionTabsに改名されました

図1 新しくなったInstalled Extensionsページ

図1 新しくなったInstalled Extensionsページ

Installed Extensionsページは,manifest.jsonで設定したIconが表示されるようになり,見栄えがするようになりました。右上のDeveloper modeをクリックすると「Load Extension…」⁠Pack Extension…」⁠Update Extensions now」などの開発者用メニューが表示されます。また,DisabledになっているExtensionsがグレーアウトされるようになり,識別し易くなりました。

著者プロフィール

太田昌吾(おおたしょうご,ハンドルネーム:os0x)

1983年生まれ。JavaScriptをメインに,HTML/CSSにFlashなどのクライアントサイドを得意とするウェブエンジニア。2009年12月より、Google Chrome ExtensionsのAPI Expertとして活動を開始。

URLhttp://d.hatena.ne.jp/os0x/

コメント

コメントの記入