エントリー
Operaの拡張機能を使用すると、HTML、JavaScript、CSSなどのWeb標準を使用して、デスクトップOperaブラウザに機能を直接追加できます。 この記事では、拡張機能APIを使用してブラウザーウィンドウシステムを制御する方法について説明します。 これは、Windowsオブジェクトを介して行われます。
Operaの拡張機能の基本を理解する必要がある場合は、記事「 あなたの最初のOperaの拡張機能 」を開始するのに適した場所です。
ウィンドウ作成
通常どおり、イベントフックを使用して、イベントが発生したとき、この場合はウィンドウの読み込みが完了したときに関数をトリガーします。 次に、呼び出す前にopera.extension.windows.createが存在するかどうかを確認します。
window.addEventListener( "load", function(){ if( opera.extension.windows.create ) { opera.extension.windows.create(); } else {
Windowsのイベント
イベントは、Windowオブジェクトとの対話の瞬間に興奮します。 たとえば、ウィンドウにフォーカスがある場合、onfocusイベントが発生します。 Operaの拡張機能には、次の4つのイベントがあります。
- オンフォーカス
- onclose
- 作成する
- オンブラー
イベントが発生すると、opera.postErrorメソッドを使用してこれを通知します。 エラーコンソールでopera.postErrorの出力を確認できます。
window.addEventListener( "load", function(){ if( opera.extension.windows ) { opera.extension.windows.onfocus = function( event ){ opera.postError("windows is focused"); } opera.extension.windows.onclose = function( event ){ opera.postError("windows is closed"); } opera.extension.windows.oncreate = function( event ){ opera.postError("windows is create"); } opera.extension.windows.onblur = function( event ){ opera.postError("windows loses focus"); } } else {
Windowsイベントインターセプター
次に、イベントインターセプターに注目しましょう。 JavaScriptの標準イベントフックと同様に、Operaの拡張機能のイベントフックに、イベント、実行する関数、ブール値の3つの引数を渡します。 次のタイプのイベントをインターセプトできます。
次のコード例では、addEventListener関数を使用してフォーカスイベントを登録します。 最後の引数は、イベントハンドラーを起動するフェーズを決定します。 これはブール値である必要があり、現時点では値をfalseに設定します。
opera.extension.windows.addEventListener( "focus", function(){
addEventListenerとoneventの違いは、これら2つのイベントモデルの動作です。 たとえば、このコードは最初の行を置き換えるため、最後の行のみを実行します。
opera.extension.windows.onfocus = function(){
次の例は、両方が登録されているため、両方の機能を実行します。
opera.extension.windows.addEventListener( "focus", function(){
おわりに
この記事では、windowsオブジェクトを使用してOperaデスクトップブラウザーでWindowsを管理する方法について説明しました。 詳細については
、Operaの拡張APIを参照できます。
APIリファレンス
opera.extension.windowsオブジェクト
更新する いくつかの例:
CreateWindow.oex-ボタンが作成され、クリックすると新しいウィンドウが開きます。
Events.oex-ブラウザウィンドウで発生するイベントについてエラーコンソールに
投稿します。