Javascript 在不同服务器上托管时刷新iframe
我有一个简单的测验,在我客户网站的iframe中。不幸的是,该测验托管在与我的客户站点不同的服务器上。客户端希望iframe的内容在用户提交表单60秒后刷新(很容易完成),但每当我试图让测验刷新自己时,浏览器出于安全原因会阻止它-它们位于不同的域上 我没有试图改变父窗口目标,只是重新加载iframe本身,所以希望安全性不是问题。。。但是我尝试了Javascript 在不同服务器上托管时刷新iframe,javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,我有一个简单的测验,在我客户网站的iframe中。不幸的是,该测验托管在与我的客户站点不同的服务器上。客户端希望iframe的内容在用户提交表单60秒后刷新(很容易完成),但每当我试图让测验刷新自己时,浏览器出于安全原因会阻止它-它们位于不同的域上 我没有试图改变父窗口目标,只是重新加载iframe本身,所以希望安全性不是问题。。。但是我尝试了iframe.contentWindow.history.back()但我仍然收到相同的安全错误: 未捕获的安全性错误:阻止了具有原点的帧 “”访问具有原
iframe.contentWindow.history.back()代码>但我仍然收到相同的安全错误:
未捕获的安全性错误:阻止了具有原点的帧
“”访问具有原点的帧
"". 协议、域和端口必须
匹配
如何使iframe刷新自身?这可能吗?或者浏览器认为iFrAMEs是父页面所拥有的,所以我甚至不刷新它吗?谢谢。您只能使用消息发布来解决问题,所有浏览器都有理由阻止直接操作
在主页中:
var frame = document.getElementById('your-frame-id');
frame.contentWindow.postMessage("reload please, thank you", '*');
window.addEventListener('message', function(event) {
if (event.data === "reload please, thank you") {
location.reload();
}
});
在您的中(包含在主页中):