我有一個C#aspx web應用程序,它使用JavaScript打開一個彈出窗口。我捕獲窗口句柄並將該值放入數組中。當Web應用程序關閉時,我想關閉彈出窗口。當我詢問數組時,窗口句柄不再位於數組中,所以我找不到要關閉它的窗口。這種行爲對我來說很奇怪,因爲其他彈出窗口(不包含silverlight)將保留在數組中,並在應用程序結束時關閉。關閉包含silverlight的Javascript彈出窗口
起初,我認爲這是可以用框架解決的問題,比如彈出式窗口包含的PDF不能被關閉,但是這個解決方案在我這裏不起作用。 This was something I had to use with PDFs
問:如何在aspx主窗口關閉時關閉包含Silverlight的彈出窗口?
一些JavaScript代碼:
var openedWindows = new Array();
function OpenNamedWindow(url, name, features, replace)
{
var oWin = open(url, name, features, replace);
// The Silverlight window object is within this array afterwards, and in subsequent calls
// to this method
openedWindows.push(oWin);
}
function CloseOpenedWindows()
{
while (openedWindows.length > 0)
{
var window = openedWindows.shift();
if(!window.closed)
window.close();
}
}
主ASPX表(略)
<html>
<body onunload="CloseOpenedWindows();"> ... <body/>
</html>