javascript - 尝试重新加载嵌入式 iframe 时出现 CORS 错误

标签 javascript iframe reload same-origin-policy

<分区>

我正在尝试强制重新加载 iframe 的内容(强制重新加载意味着不应使用浏览器缓存)。来自解决方案Reload an iframe with jQuery在这里,我可以通过这个 javascript 代码来做到这一点:

document.getElementById(FrameID).contentDocument.location.reload(true);

但是我遇到了同源策略错误。但是我确实在嵌入了 iframe 的页面和在 iframe 中加载的页面都启用了 CORS。通过网络开发工具,我已验证在两个 加载中,CORS header 都存在:

Access-Control-Allow-Origin: *

虽然双方都在不同的域下,但我控制着它们,并且可以根据需要发送 CORS header 或任何其他 header 。

正确的做法是什么?

最佳答案

所描述的情况不需要 CORS。 The same origin policy不允许跨不同域访问 DOM 属性和方法。您可以使用 postMessage JavaScript API用于启用 IFRAME 和父页面之间的通信。

关于javascript - 尝试重新加载嵌入式 iframe 时出现 CORS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12864468/

相关文章:

javascript - jQuery leaveNotice 插件和 Internet Explorer

java - 刷新面板时如何更改 JComboBox 中选定的索引?

javascript - 根据 ul ID 将相同的类添加到子元素

javascript - Sass on Grunt 总是创建空输出

javascript - 单击 iframe 内容内的按钮时如何更改 iframe 高度

javascript - YouTube 视频结束时隐藏 iframe

iOS - reloadData 时未调用 cellForRowAtIndexPath

javascript - 浏览器崩溃后保持自动重新加载工作? (javascript)

javascript - 为什么 Foundation 似乎废弃了 RequireJS 模块?

javascript - 文档准备太早了?