如何刷新ModalPopupExtender所在的页面

时间:2019-06-14 16:02:10

标签: javascript ajax

我有一个ASP.NET Web应用程序,该应用程序在Sahrepoint网站上的AJAX ModalPopupExtender上的iframe中。

在我的Web应用程序中,我有一些javascript正在尝试单击“转义” ket。如果是,则应关闭模式弹出窗口或刷新页面。

下面的代码可以更改模式弹出窗口的内容,而不是当前页面/ URL。

Number.isInteger(MouseEvent.offsetX)

如果我尝试这样做

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

然后它不起作用。

谢谢 p

1 个答案:

答案 0 :(得分:0)

您需要一些“孩子与父母”的交流。

  1. 让孩子(iframe /弹出窗口)向其父发布一条消息
  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);