再次单击浏览器操作图标,关闭Chrome扩展程序弹出窗口

Con*_*mus 7 javascript google-chrome popup google-chrome-extension

我正在开发一个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();
}
Run Code Online (Sandbox Code Playgroud)

会发生什么:第一次单击打开应用程序,第二次关闭它,但它仍然是一个微型弹出窗口,图标上没有内容.如果我删除它,我达到了目标.

use*_*802 3

onClicked如果您的扩展程序的浏览器操作未default_popup在清单中定义,则会调用该事件。文档中的注释与弹出窗口当前是否打开无关。

如果清单定义default_popup,则再次单击该按钮将关闭并重新打开插件。mousedown 关闭,mouseup 打开。(因此,单击按钮并拖动并释放鼠标确实会关闭弹出窗口,而不是任何人都应该这样做。)

我建议default_popup在弹出窗口的 html 中设置并制作一个按钮,使用 关闭弹出窗口window.close;,或者在弹出窗口的用例中找到关闭有意义的点。