javascript - 关闭iframe并刷新父跨域

标签 javascript html iframe

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

我目前使用类似于此处描述的哈希破解:Close iframe cross domain

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

有什么想法吗?

相关:IFrame on unload refresh parent page

最佳答案

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

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

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

在其他人页面上:

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

关于javascript - 关闭iframe并刷新父跨域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10284251/

相关文章:

javascript - 谷歌地图错误?显示的标记根据缩放级别而变化

javascript - jquery 代码确认密码出现问题

html - 如何根据html css上的屏幕分辨率调整图像大小

html - MDC-Web对话框宽度

javascript - 即使填写并检查了所有字段后,表单也不会提交

angularjs - "Failed to execute ' postMessage '"错误来自 Froogaloop 通过 AngularJS 指令

javascript - 为什么在 Laravel 中获取 JavaScript 总是返回空值?

javascript - 如何在表格行旁边添加一个按钮

javascript - iframe 内的 onload 事件仅触发一次

javascript - 检测页面上任意位置的点击或焦点事件,包括同源 iframe