Как обновить страницу, на которой включен ModalPopupExtender - PullRequest
0 голосов
/ 14 июня 2019

У меня есть веб-приложение ASP.NET, которое находится в iframe на AJAX ModalPopupExtender на сайте Sahrepoint.

В моем веб-приложении у меня есть некоторый javascript, который пытается перехватить, если нажать на «escape» кет. Если это так, то он должен закрыть модальное всплывающее окно или обновить страницу.

Этот код, приведенный ниже, позволяет изменить содержимое модального всплывающего окна, а не текущую страницу / URL.

window.location.assign("http://intranet")

Если я попытаюсь сделать это

window.parent.location.assign("http://intranet")

тогда это не работает.

Спасибо р

1 Ответ

0 голосов
/ 14 июня 2019

Вам нужно какое-то общение от ребенка к родителю.

  1. Пусть ребенок (iframe / popup) отправит сообщение своему родителю
  2. Настройка родительской / главной страницы для прослушивания сообщений
  3. Настройка обработчика на родительской / главной странице для обновления страницы при получении сообщения.
//CHILD POSTS MESSAGE TO PARENT
//THIS CODE GOES IN THE CODE THAT GETS LOADED IN THE IFRAME
parent.postMessage("refresh-me");

//SET UP PARENT/MAIN PAGE TO LISTEN FOR MESSAGES
//THIS CODE GOES IN THE PARENT/MAIN PAGE
var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
var eventer = window[eventMethod];
var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";

//SET UP A HANDLER TO REFRESH THE PAGE
//THIS CODE GOES IN THE PARENT/MAIN PAGE
eventer(messageEvent,function(e) {
  if (e.data === 'refresh-me'){
    window.location.assign("http://intranet");
  }
},false);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...