firefox iframe的历史

时间:2009-07-04 06:18:54

标签: javascript firefox web-applications

在网络应用中,我们使用IFRAME让用户选择父页面的项目。

问题在于,每次打开IFRAME时,FIREFOX(3.5)都会将相同(父)页面的副本添加到历史记录中。

网络应用程序正在使用history.back()从父页面转到调用该页面的页面。

我们可以通过将“后退”页面作为参数从调用者传递给被调用者来解决这个问题。

Still BACK按钮仍然断开(用户按下后退按钮但保持在同一页面中)。

创建的另一个问题是我们想要一些历史记录以外的页面。我们不希望用户返回 INSERT 页面。

完成后可以通过 INSERT 页面上的location.replace轻松完成此操作,但在FIREFOX上则无法使用相同 INSERT 页面的多个条目。

2 个答案:

答案 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和父文档之间的通信往往是一个错误的磁铁 -