1
Firefox中有一个annoying bug,在动态创建的iframe中导航,然后通过Javascript删除导致无法返回使用Firefox后退按钮(您必须使用下拉菜单并导航到更多的页)。iframe导航打破Firefox后退按钮 - 解决方法?
我在验证和提交数据的iframe中使用表单。在表单提交/数据验证时,iframe中的页面被刷新。如上所述,这打破了Firefox后退按钮。
我需要一个解决方案,试图解决这个问题,目前我已经尝试了一些不同的东西没有多少成功:
- 在会话变量(PHP)存储每一个IFRAME刷新页面,然后使用
history.go(-{session var})
在我的jQuery代码中导航回来。然而,这似乎只有在导航回到加载iframe之前的页面时才起作用,而不是加载iframe的页面(在稍后它仍然打破后退按钮) - 隐藏iframe而不是删除它 - 工作,但需要多次后退按钮点击,并提出'你想重新提交这些数据吗?'消息
- 当用户关闭它时重新加载iframe。这样做没有优势,因为如果你回去,你必须仍然通过所有以前的iframe gubbins。
任何建议表示赞赏 - 但请注意:我想使用iframe,并不真正想使用ajax,并会喜欢跨浏览器兼容(ha!)的解决方案。
如果你有兴趣,步骤重现此问题:
- 在Firefox中尝试它加载谷歌上的fancybox 网页的iframe例如:http://fancybox.net/home
- 搜索的东西,也就是加载了新的一页在iframe
- 关闭的fancybox框架
- 尝试和回去而不诉诸回下拉列表
顺便说一句,IE处理这种情况比Chrome或Firefox更优雅!
你可以发布一个测试页的URI吗,不好意思,但我懒得自己实际构建它。 – guzart 2010-02-21 08:17:01