2012-01-19 31 views
5

私はChrome拡張機能に取り組んでいます。ポップアップページが開いているかどうかを(バックグラウンドページから)調べる方法を探しています。私はmessage passingを調べましたが、もしこれが私に役立つかどうか、あるいはもっと簡単な方法があれば分かりません。ポップアップページが開いているかどうかを確認するにはどうすればよいですか?

ありがとうございます!

答えて

10

ポップアップビューが開いている場合は、あなたの背景ページから、以下のクロムのAPIコールをフェッチ使用することができます。

var views = chrome.extension.getViews({ type: "popup" }); 

//views => [] //popup is closed 
//views => [DOMWindow] //popup is open 

それが持つ配列を返す場合は、空の配列は、あなたのポップアップが、開いていないが返された場合あなたのポップアップのDOMWindowオブジェクトは、あなたのポップアップが開いています。

1つのプラグインに複数のポップアップがある場合、返されたDOMWindow内にいくつかのグローバル変数が存在するかどうかを確認して曖昧さをなくすことができます。

+0

ありがとう、すごくうまくいった! – Camilo