2011-07-07 16 views
0

通知を表示するMozilla FireFoxプラグインを作成しようとしています。通知はWindowsとMacでも表示されます。ユーザーが通知をクリックしてWebページを開くようにしたい場合は、かなり簡単です。 しかし、オブザーバーを追加してwindow.openまたはgBroswer.addTabウィンドウを開いてタブを開くと、通知が表示されたときにFireFoxが最小化される場合、ウィンドウはバックグラウンドで開かれ、ユーザーは見ることができません。Mozillaの通知でブラウザが表示される

Components.interfaces.nsIAlertsServiceとchrome://global/content/alerts/alert.xulを使用しようとしました。これらはこの観点から同じように動作します。 ブラウザに一番上に表示され、ユーザーに表示されるようにする方法はありますか?

+0

どうすれば最小化されたブラウザウィンドウで通知をクリックできますか?私はあなたが問題をよりよく説明しなければならないと思います... –

+0

彼はバブル通知(したがってnsIAlertsServiceの言及)を意味します。 –

答えて

1

これはできないように見えます。 Firefoxは一般的に、異なるブラウザウィンドウの1つが既にフォーカスされているとき(window.focus()経由)のみフォーカスを切り替えることができます。あなたが望むように(そしてThunderbirdのやり方で)通知を処理するには、Windows上でSetForegroundWindow()を呼び出す必要があります - この関数が呼び出されるFirefoxコードにはtwo occasionsしかありません。 1つは新しいFirefoxプロセスが開始されたとき、もう1つはFirefoxウィンドウが最小化されるときである。残念ながら、この場合どちらも実際に使用することはできず、Thunderbirdは実際にはXPCOM APIよりもカスタムコードを使用してフォアグラウンドに持ち込みます。

関連する問題