防止框架中的页面重定向的iframe被包含在浏览器的后退按钮/历史记录中

时间:2014-06-15 17:41:40

标签: javascript html iframe

我有一个带iframe的HTML页面,iframe使用加载在iframe中的HTML页面显示幻灯片。用户可以点击"下一步"或"返回"在iframe中,iframe只是加载另一个HTML页面。 iframe中的HTML页面位于同一个域中,但位于不同的目录中。我已将以下脚本放在iframe中加载的所有页面的正文中,从浏览器后退按钮/历史记录中阻止了这些点击,这部分有用......

    <script type="text/javascript">
    var anchors = document.getElementsByTagName('a');
    for (var i = 0; i < anchors.length; i++) {
    var anchor = anchors[i];
    anchor.addEventListener('click', function(event) {
    history.replaceState(null, null, anchor.href);
    }, false);
    }
    </script>

问题是每个iframe页面中都有一个名为&#34; Autoplay&#34;加载一个相同的HTML页面,除了它在头部添加了以下脚本以使页面在5秒后重定向,并且浏览器的后退按钮/历史记录正在捕获重定向。

    <script type="text/JavaScript">
    setTimeout(function () {
    window.location.href = "auto2.htm";
    }, 5000);
    </script>

有没有人知道从浏览器的后退按钮/历史记录中阻止此重定向事件的方法?非常感谢您的帮助!谢谢!

1 个答案:

答案 0 :(得分:1)

变化:

window.location.href = "auto2.htm";

为:

window.location.replace("auto2.htm");

阅读this页面了解更多信息。