【发布时间】:2019-09-17 09:10:27
【问题描述】:
我有一个包含 iframe 的网页。 iframe 源是不同的网站。
- iframe 的初始内容是显示登录,单击它会打开一个新的选项卡进行身份验证。
- 身份验证完成后,浏览器会自动关闭此新选项卡并刷新前一个选项卡中的 iframe 以加载数据。
这是使用窗口的存储事件处理程序完成的。成功登录后,登录页面中会更新特定的存储密钥,这会触发 iframe 内的事件,然后重新加载 iframe。
iframe 的初始内容有一个类似这样的窗口存储事件处理程序
window.addEventListener('storage', storageEventHandler, false);
function storageEventHandler(evt) {
switch(evt.key) {
case 'accessTokenRefresh': location.reload();
}
}
这在 Chrome 和 Firefox 中运行良好,没有任何问题。
IE 11 中的问题 - 成功登录后,storageEvenHandler 中的location.reload(); 使浏览器重定向到 URL,而不仅仅是重新加载 iframe。
注意 - 我尝试使用沙盒属性,它是不同的值及其组合,但没有运气。
非常感谢您阅读到这里。任何帮助将不胜感激
【问题讨论】:
标签: javascript html iframe internet-explorer-11