关闭iframe并刷新父交叉域

Ale*_*lex 4 html javascript iframe

我有一个加载在别人页面上的iframe.当iframe关闭时,我想刷新父页面.

我目前使用类似于此处描述的哈希黑客攻击:关闭iframe跨域

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

有任何想法吗?

相关:卸载刷新父页面上的IFrame

Tob*_*ogh 8

我认为唯一可靠的方法是在现代浏览器中使用postMessage进行跨域通信,没有测试它但是检查这个代码部分......当然这只有在"别人的页面"以某种方式改变时才有用

所以如果您的页面在里面:

var parent = window.parent;
if (parent && parent.postMessage) {
  parent.postMessage("closed");
}
Run Code Online (Sandbox Code Playgroud)

在其他人页面上:

window.onmessage = function(event) {
  if (event.data === "closed") {
    location.reload();
  }
};
Run Code Online (Sandbox Code Playgroud)