javascript - iframe 的 History.replaceState 问题

标签 javascript jquery html iframe history

我对此快疯了。我已经阅读了我能找到的有关该主题的所有内容,但我迷失了......

我有一个带有按钮和 2 个 iframe 的页面。

<input name="showButton" type="button" id="showButton" value="Show" />
<iframe id="messagelistviewframe" src="blank.html"></iframe>
<iframe id="messageviewframe" src="blank.html"></iframe>

单击该按钮会更改 2 个 iframe 的 URL。

$(document).ready(function () {
    $('#showButton').bind("click", function (e) {
        $('#messagelistviewframe').attr('src', 'red.html');
        $('#messageviewframe').attr('src', 'yellow.html');
    });    
}

不幸的是,这会创建 2 个历史条目,每个 iframe url 更改对应一个历史条目。因此,单击浏览器的后退按钮,我首先会看到一个页面,其中第二个 iframe 返回到其原始 url,如果我再次单击,我会同时获得两个页面。

我已经尝试了所有可能的方式history.replaceState,但我认为没有效果。我在 Firefox 中得到了一些结果,但在 Chrome 和 IE 中都没有得到。

有没有办法让后退按钮直接向我提供带有原始 iframe url 的原始页面? TIA

最佳答案

终于在这篇文章中找到答案Reload an IFRAME without adding to the history 。诀窍是重新创建 iframe 或将其从 DOM 中删除并重新添加。

关于javascript - iframe 的 History.replaceState 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25386811/

相关文章:

javascript - 无法找到通过动态创建的项目获取用户输入的项目

javascript - 按属性对 Div 进行排序 - asc 或 desc

html - 如何在同一个 div 中的两个按钮之间留出空间?

javascript - 聚合多个数组的总计

javascript - 为什么 Javascript 按钮不起作用?

javascript - 减速时机

html - CSS 动态调整大小

javascript - jQuery 问题 |需要触发事件两次才能正常工作

javascript - JQuery Accordion - 自下而上而不是自上而下

javascript - 在 JavaScript 中,如何访问父类(super class)实例的属性?