在网络应用中,我们使用IFRAME让用户选择父页面的项目。
问题在于,每次打开IFRAME时,FIREFOX(3.5)都会将相同(父)页面的副本添加到历史记录中。
网络应用程序正在使用history.back()从父页面转到调用该页面的页面。
我们可以通过将“后退”页面作为参数从调用者传递给被调用者来解决这个问题。
Still BACK按钮仍然断开(用户按下后退按钮但保持在同一页面中)。
创建的另一个问题是我们想要一些历史记录以外的页面。我们不希望用户返回到 INSERT 页面。
完成后可以通过 INSERT 页面上的location.replace轻松完成此操作,但在FIREFOX上则无法使用相同 INSERT 页面的多个条目。
答案 0 :(得分:3)
不确定您的问题是否与我今天的问题相同,但是......
当页面上有iframe且iframes src发生变化时,浏览器(在我的情况下为FF 4.0)认为它是导航,按下后退按钮后,它会在此iframe内向后导航一步。
但是在加载页面后使用javascript动态创建此iframe时,它的行为会有所不同。连续更改iframes src不算作导航,浏览器不会将任何页面放入历史记录中,从而导致后退按钮的预期行为。
答案 1 :(得分:1)
如果问题是您的条目重复,请转到
history.back(-2)
或-3,或-4,如果需要,而不是history.back() or history.back(-1)
。
但是,如果我是你,我会尝试放弃基于iframe的解决方案并构建一些根本不涉及它们的东西,因为iframe和父文档之间的通信往往是一个错误的磁铁 -