QLOOKアクセス解析

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Firefox コード例:一番親のウィンドウを取得する(サイドバーからでも有効)

Firefoxアドオンにて、一番親のウィンドウを取得するJavascriptコード例を挙げる。
サイドバーからでも有効に動作する。

/***********************************************
一番親のウィンドウを取得する(サイドバーからでも有効)
*/
var _win = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
.getInterface(Components.interfaces.nsIWebNavigation)
.QueryInterface(Components.interfaces.nsIDocShellTreeItem)
.rootTreeItem
.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
.getInterface(Components.interfaces.nsIDOMWindow);
//オープナーを上へ上へとたどってゆく
while (_win.opener) _win = _win.opener;
//ルートウィンドウにフォーカス
_win.focus();


以下のようにwindow.topで取得する方がスマートに見えるが、Chromeを超えた場合に狙いと違うものが取れることがあるので注意が必要である。

_win = _win.top

以下、リファレンスの引用文。
Accessor for the root of this hierarchy of windows. This root may be the window itself if there is no parent, or if the parent is of different type (i.e. this does not cross chrome-content boundaries).
XULPlanet: Object Reference: ChromeWindow#topより引用)
スポンサーサイト

最近の記事

コメント

管理者にだけメッセージを送る

みんなの拡張機能
シリーズ記事一覧
カテゴリ一覧
ブログ内検索
QRコード
QR
プロフィール

くふぉーる

はじめまして。日本のシステムエンジニア「くふぉーる」です。
このブログではできるだけ役立つ記事を掲載することを心がけています。

RSSフィード
このブログについて
・ このブログは全記事リンクフリーです。
・ スパム対策として、トラックバック、コメントは承認制にしてあります。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。