我有一个页面,其中包含一些ajax和许多javascript加载的动态数据。
该页面包含一个列表,用户可以从中进行选择,每个选定的值都将新数据加载到该页面。
这些数据项之一是提供给iframe的网址。
我使用jQuery BBQ:“后退按钮和查询库”来模拟浏览器后退行为。
除了当我第一次单击后退按钮时,iframe都返回到其先前位置,然后需要再次单击以使该页面返回,所有这些都运行良好。
有没有办法禁用iframe的后背行为?
我已经找到了解决我的问题的答案,猜测它可能对其他人很有用。
问题出在我为Iframe分配新URL的方式上,我使用了Jquery,所以它看起来像这样:
$('#myIFrame').attr('src',newUrl);
以这种方式分配URL时,它将在浏览器的已访问URL列表中添加一个新条目以供返回。 这不是理想的行为,因此在进行谷歌搜索之后,我发现您可以将新URL分配给Iframe对象,而无需将其添加到“后备列表”中,如下所示:
var frame = $('#myIFrame')[0]; frame.contentWindow.location.replace(newUrl);
这样我的后退按钮的行为就完全符合预期了。
顺便说一句,我从这里得到了答案。
希望这对您和我都有所帮助。