摘要: 我正在尝试关闭在其中运行chrome扩展的弹出窗口。出于某种原因,当一个chrome窗口在其中运行一个扩展时,window.close不起作用。关闭运行Chrome扩展的弹出窗口
说明:
我的GWT应用程序需要与只在IE 7上运行的遗留系统交互,为解决我与网址的Chrome扩展打开一个弹出窗口://hehijbfgiekmjfkfjpbkbammjbdenadd/iecontainer.html# url = www.legacysystem.com',它强制在新窗口中用IE标签打开Legacysystem。 要求它始终只有一个窗口打开,因此如果用户试图打开另一个窗口,我需要关闭打开的窗口。
这里是我打开的新窗口
<head>
<script>
var WindowDialog = new function() {
this.openedWindows = {};
this.open = function(instanceName, url) {
var handle = window.open(url, instanceName, 'height=500,width=500');
this.openedWindows[instanceName] = handle;
return handle;
};
this.close = function(instanceName) {
if (this.openedWindows[instanceName])
this.openedWindows[instanceName].close();
};
};
function legacySystemWindow(name,url) {
WindowDialog.close(name);
WindowDialog.open(name, url);
}
</script>
</head>
<body>
<input value="Simple popup " type="button" id="1" onclick="legacySystemWindow('gmail','http://gmail.com')" />
<input value="IE Tab popup" type="button" id="2" onclick="legacySystemWindow('IETAB','chrome-extension://hehijbfgiekmjfkfjpbkbammjbdenadd/iecontainer.html#url=www.gmail.com')" />
</body>
问题,当我尝试这个代码,而IE标签一切工作正常的代码,但是当我尝试这与IE选项卡中的代码无法关闭Chrome窗口。
据我所知 铬。因为我不运行这个代码与扩展
任何想法的或解决方案是非常赞赏* API的不适用。
请添加更多信息。上述代码从哪里运行?什么是你的扩展文件结构?此外,发布其他相关代码部分(包括您的清单)。 – gkalpak
我正在通过GWT应用程序在Chrome浏览器中运行此Java脚本。我的应用程序不是Chrome扩展程序..我的应用程序打开一个窗口并将URL传递为“我的遗留系统的chrome-extension:// IETAB extension id/url ='url”。为了实验的目的,我写了上面的代码,我们可以将代码复制到记事本中,并将扩展名为.html的文件存储起来,然后在chrome中打开html文件...我试图在我的GWT应用程序中完全相同 – user2915192
今天我发现当我尝试一些JavaScript窗口。*命令像window.setTimeout()window.location,它不能关闭的原因是与协议不匹配。JavaScript异常我得到“安全问题无法访问swapped协议从htt:/// localhot:8080“..但令人惊讶的是window.focus()很好,但window.close()不会抛出任何javascript异常或能够关闭此窗口。 – user2915192