摘要: 我正在嘗試關閉在其中運行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