Уведомление Когда всплывающее окно закрыто с помощью HTMLPage Silverlight.popupWindow ()

StackOverflow https://stackoverflow.com/questions/2731879

Вопрос

Я всплываю HTML-страницу из приложения Silverlight, используя HtmlPage.PopupWindow() метод. Я пытаюсь справиться с событием, когда всплывающее окно закрыто из Silverlight. Вот как я пытаюсь сделать это:

 var window = HtmlPage.PopupWindow(new Uri("http://mypopup..."), "popup", options);

 EventHandler<HtmlEventArgs> windowClosed = (sender, e) =>
 {
     // would like to refresh the page when popup is closed...
     HtmlPage.Document.Submit();
 };

 window.AttachEvent("onUnload", windowClosed);

Однако обработчик событий никогда не звонит. Это то, что возможно или я что-то упускаю?

Приложение Silverlight и всплывающее страницу HTML находятся в том же домене, однако они на самом деле находятся на разных портах. Я думал, что, возможно, страницы, находящиеся в разных портах, будут считаться ограничением поперечного сайта и вызвать неудачу JavaScript.

Это было полезно?

Решение

Вы правы, вариация номера порта достаточно, чтобы предотвратить доступ для Silverlight от доступа к событиям и содержанию всплывающего окна.

Другие советы

У вас есть очень маленькая ошибка в имени события :) Измените «onunload» на «onunload» и попробуйте снова

Твой onUnload Событие должно быть определено в всплывающем окне, а не в окне родительского / открывающего устройства для обнаружения любых действий, выполненных на дочернем окне. В всплывающем окне вы будете отслеживать действия в этом окне и отправить вызов родительскому / открытую для обновлений состояния. С помощью этого вызова вы также передали бы какие-либо значения, которые вам нужны в этом окне, поскольку вы не можете прочитать данные о дочернем окне от родительского / открывающего.

Если страница является IFrame целевой страницы, вы бы использовали родитель; как в parent.functionname(data);. Отказ Если страница является отдельным окном целевой страницы, вы будете использовать открывщик; как в opener.functionname(data);.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top