我们有IE的问题。在带有表单的网页上,通过javascript创建多个框架。这是由于一些糟糕的所见即所得。问题是,当用户点击浏览器“后退”按钮时,您希望整个页面返回。这是在FF,Chrome,Opera,Safari等中发生的情况。但是对于IE,你必须单击页面上每个帧的后退按钮,即使你没有做任何其他事情而是加载页面。
知道有时+20帧可以在同一页面上(许多文本字段),这对用户来说真的很痛苦。
问题:如何使浏览器后退按钮适用于主页面,无论页面上有多少帧??
非常感谢!
答案 0 :(得分:0)
这样做的一种方法是使用hash bang url实现客户端路由。
每次在iframe上更改页面时,父URL的哈希部分都会更改以反映它。
然后你有一些js来监听这些变化,并做了跨帧更新整页状态所需的东西。
现在,当用户按下后退按钮时,父级网址将更改为子iframe中最后一次更改之前的哈希值,并且所有内容都会相应更新。
请注意:如果您有很多iframe,这是一个非常重要的事情,而且我无法为您提供可以解决问题的工作脚本。这只是为了灵感。
答案 1 :(得分:0)
(遵循Martin Jespersen的回应)
是的,我也认为这只是解决方案。而且很难实现,但是有很多好的库可以处理#更改。
轻量级jQuery解决方案:http://tkyk.github.com/jquery-history-plugin/。
使用ExtJS的非常复杂的解决方案:http://dev.sencha.com/deploy/dev/examples/history/history.html#tab1:subtab1。
而且我认为,如果没有javascript,就不可能实现跨浏览器。