JavaScript でポップアップ ウィンドウを開く C# aspx Web アプリケーションがあります。ウィンドウ ハンドルを取得し、その値を配列に入れます。Web アプリケーションが閉じたら、ポップアップ ウィンドウを閉じたい。配列に問い合わせると、ウィンドウ ハンドルが配列内にないため、ウィンドウを閉じることができません。他のポップアップ ウィンドウ (Silverlight を含まない) は配列に残り、アプリケーションが終了すると閉じられるため、この動作は私には奇妙です。
最初は、PDFを含むポップアップウィンドウを閉じることができないなど、フレームで解決できるものだと思っていましたが、それに対する解決策はここではうまくいきませんでした。これは私がPDFで使用しなければならなかったものでした
質問: 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>