7

Chrome 拡張機能を開発していて、ポップアップを開くためのアイコンをもう一度クリックするだけでポップアップを閉じることができるかどうかを知りたいと思っていました。ドキュメントには、onClickedイベントは次のように記載されています。

ブラウザのアクション アイコンがクリックされたときに発生します。ブラウザー アクションにポップアップがある場合、このイベントは発生しません( http://developer.chrome.com/extensions/browserAction.html#popups )。

前もって感謝します。

[更新]次のことを試してみましたが、半分 (!) 動作します: 1. popup.html で popup.js をリンクします。2. popup.js は、background.js に含まれる変数の値を読み取ります。

var currentStatus = chrome.extension.getBackgroundPage().open;
if(currentStatus==0){
  chrome.extension.getBackgroundPage().open=1;
}else{
  chrome.extension.getBackgroundPage().open=0;
  window.close();
}

何が起こるか: 最初のクリックでアプリが開き、2 回目のクリックで閉じますが、アイコンにコンテンツのないマイクロ ポップアップのままです。それを取り除けば、目標を達成しました。

4

2 に答える 2

3

このイベントは、拡張機能のブラウザー アクションがマニフェストでonClicked定義されていない場合に呼び出されます。default_popupドキュメントからのそのメモは、ポップアップが現在開いているかどうかに関するものではありません。

マニフェストで定義されている場合はdefault_popup、ボタンをもう一度クリックすると、プラグインが閉じて再度開きます。マウスダウンが閉じ、マウスアップが開きます。(したがって、ボタンをクリックしてドラッグし、マウスを離すと、ポップアップが閉じます。誰もこれを行うべきではありません。)

default_popupでポップアップを閉じるポップアップのhtmlにボタンを設定して作成するwindow.close;か、ポップアップのユースケースで閉じることが理にかなっているポイントを見つけることをお勧めします。

于 2013-08-14T21:46:47.093 に答える