【问题标题】:Firefox back button vs iframesFirefox 后退按钮与 iframe
【发布时间】:2011-07-12 15:54:53
【问题描述】:

在 Firefox 中,如果 iframe 的 window.location 发生更改,则会将其填充到顶级窗口的历史记录中。

如果用户现在点击浏览器的返回按钮,iframe 的内容将会改变,而不是浏览器返回到之前的 HTML 页面。

这对于某些架构来说是完全错误的。

JavaScript 有什么方法可以阻止 Firefox (3.x) 这样做吗?

(请坚持这个问题,而不是为什么/何时/如何使用 iframe 与其他技术。)

【问题讨论】:

标签: firefox iframe back-button


【解决方案1】:

【讨论】:

    【解决方案2】:

    我有同样的问题,当我读到这篇文章时,我正在研究可能的解决方法。我不知道你是否解决了问题,但我想我会使用 IFrame 窗口中的 unload 事件来通知父窗口何时卸载。

    如果 iframe 被“有效”方法关闭,则会在父级设置一个变量来说明 iframe 应该卸载

    如果父级重新加载/更改 iframe 的 src,则会设置一个变量来表示预期卸载

    如果 iframe 中发生意外卸载,我认为它是后退按钮并相应地更新父页面(例如,在父页面的历史记录中再跳一步,或执行其他操作)。

    这里唯一丑陋的情况是,如果父页面被卸载并且 iframe 也抛出卸载 - 根据父页面的变化速度,您可能会遇到父页面的 iframe 卸载处理程序被触发或未被触发的竞争条件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-31
      • 2011-05-25
      相关资源
      最近更新 更多