【问题标题】:Close iframe and refresh parent cross domain关闭 iframe 并刷新父跨域
【发布时间】:2012-05-04 06:48:08
【问题描述】:

我有一个 iframe 可以加载到其他人的页面上。当 iframe 关闭时,我想刷新父页面。

我目前采用类似于此处描述的哈希 hack:Close iframe cross domain

这种方法在 IE9 中存在安全问题,所以我仍在寻找更好的解决方案或 IE 解决方法..

有什么想法吗?

相关:IFrame on unload refresh parent page

【问题讨论】:

标签: javascript html iframe


【解决方案1】:

我认为唯一可靠的方法是在现代浏览器中使用 postMessage 进行跨域通信,尚未对其进行测试,但请检查此代码部分...当然,这仅在“别人的页面”可以更改时才有效

如果你的页面在里面:

var parent = window.parent;
if (parent && parent.postMessage) {
  parent.postMessage("closed");
}

在其他人页面上:

window.onmessage = function(event) {
  if (event.data === "closed") {
    location.reload();
  }
};

【讨论】:

    猜你喜欢
    • 2011-01-12
    • 2016-06-30
    • 1970-01-01
    • 1970-01-01
    • 2010-11-20
    • 2011-04-28
    • 1970-01-01
    • 2012-04-05
    • 2012-08-13
    相关资源
    最近更新 更多