У меня есть веб-приложение C# aspx, которое открывает всплывающее окно с JavaScript. Я захватываю дескриптор окна и помещаю это значение в массив. Когда веб-приложение закрывается, я хочу закрыть всплывающее окно. Когда я допрашиваю массив, дескриптор окна больше не находится в массиве, поэтому я не могу найти окно, чтобы закрыть его. Это поведение странно для меня, поскольку другие всплывающие окна (которые не содержат silverlight) останутся в массиве и будут закрыты, когда приложение закончится.Закрыть всплывающее окно Javascript, содержащее silverlight
Сначала я подумал, что это то, что можно решить с помощью фрейма, например всплывающие окна, содержащие PDF-файлы, которые невозможно закрыть, но решение для этого не сработало для меня. This was something I had to use with PDFs
Вопрос: Как закрыть всплывающее окно, содержащее Silverlight, когда основное окно aspx закрывается?
Часть кода 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>