Opera エクステンションを始めよう
DEPRECATED: This article is deprecated. We recommend using our quick documentation overview instead.
はじめに
Opera 11 Labs release には、新たにブラウザに機能を追加するエクステンションを実行する、ウェブ標準に基づいたフレームワークが含まれています。このエクステンションフレームワークは、 W3C Widgets や JavaScript を始めとする従来の標準を元に成り立っています。つまり、ウェブアプリケーションやウィジェットの作成スキルをそのままエクステンションの作成に転用できるということです。また、このフレームワークには cross-document messaging のような HTML5 の技術も使われています。
このリリースに先立ち、私達は沢山のリファレンス文書やチュートリアルを作成しましたし、また作成途中にあるものもたくさんあります。但し一つ警告があります: エクステンションの実装はまだ初期の開発段階にあり、安定していません。つまり、数週間内しは数ヶ月の間に、機能の追加や既存の API との調整といった、大きな変更がある場合があります。もちろん私達はできる限り文書が最新の状態にあり続けるよう努力します。ご質問等は、この度新たに設置された Opera extensions development forum までお寄せください。
中味を垣間見る
Choose Opera 内の記事 Come and play with Opera extensions に Opera エクステンションについての丁寧な紹介と分かりやすいビデオがあります。 Opera エクステンションの内部に興味をお持ちで、コードを触ってみたい場合は、紹介記事 Opera エクステンションってどんなもの? をご覧になった上で、簡単なエクステンションの作り方について Opera エクステンションで Hello World! をお読み頂くことをお勧めします。
API に関する文書
Opera エクステンションには、基本であるウェブ標準技術以外にも、いくつかの独特な API があります。これらの API を通して、プログラマはタブやウィンドウといったブラウザの機能を自在にコントロールできるようになります。私達は可能な限りエクステンションの API を分かりやすいものにしたので、開発者の方々もこの API についてすぐに理解していただけると思います。
Opera エクステンションの API は名前空間 opera.extensions
にあります。 opera.extensions
は、殆どの API が利用しているグローバルオブジェクトです。例えば、 tabs
オブジェクトを初期化する場合、 opera.extensions.tabs
と書きます。
まず始めに API Documentation overview page をご覧になることをお勧めします。また Opera エクステンションの API に関するチュートリアルもご用意しました。これらではユーザーインターフェース、タブ、ウィンドウ、そしてメッセージングについての説明がなされています。
- Opera extensions: buttons, badges and popups: この記事では
ToolbarContext
,ToolbarUIItem
,ToolbarUIItemProperties
,Popup
,Badge
の各オブジェクトをご紹介します。ツールチップやアイコンを始めとする、ツールバーの UI の作成について詳しくご説明します。 - Opera エクステンション:タブ: この記事では
tabs
オブジェクトをご紹介し、タブの操作についてご説明します。 - Opera エクステンション:ウィンドウ: この記事では
windows
オブジェクトをご紹介し、ウィンドウの操作についてご説明します。 - Opera extensions: Messaging: この記事では
opera.extensions
のpostMessage
メソッドと onconnect, onmessage の各ハンドラをご紹介します。スクリプト・ポップアップ間のメッセージのやり取りの方法についてご説明します。
チュートリアル
基本的な構造や様々な API に慣れてきたら、実践的なチュートリアルをお試しください。このチュートリアルは順次追加される予定です。
- Hands-on tutorial: building an Opera extension: どのように JavaScript を使ってページに追加機能を与えるかをご説明します。
- UserJS を Opera エクテンションに: Opera UserJS を Opera エクステンションに変換する方法をお教えします。
既知の問題
- <script> タグがなかったり https が使われていたりするページではエクステンションは動作しません(但し opera:config で明示的に設定することで動作させることができます)。
- バックグランドプロセスのデバッグには
opera.postError()
をお使いください。これは 表示 > 開発者用ツール > エラーコンソール に出力されます(Opera Dragonfly ではありません)。
This article is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported license.
Comments
The forum archive of this article is still available on My Opera.