左侧导航栏,右侧iframe,当F5刷新页面后会返回默认页面,我是想刷新后,还停在当前iframe引用的子页面,求助!

当用F5刷新浏览器时,整个页面回到初始默认状态,而不是回到刷新之前的那个状态和位置,请问怎么解决这个问题?

阅读 7.8k
5 个回答
新手上路,请多包涵

在iframe右键,选择重新加载框架

监听keyDown,keyCode==116的时候阻止默认行为,然后执行你自己的逻辑!应该在主框架页面写就可以了……只是一个想法,我自己没有尝试过,祝你好运吧

新手上路,请多包涵

刷新页面的情况下要想记住状态,只能通过 cookie、localStorage、sessionStorage 这类的浏览器进行状态存储
如果只是记住进入哪个iframe,是挺快的。如果要记住状态,可能工作量就有点大了。所有页面进入要判断是否有状态存储着,如果是ajax,可能就需要缓存 第几页、赛选条件。同时你还要控制 这个状态存储的 清空情况。

给你一个好的方案,同样适用于【页面数据是异步请求加载的,翻到某一页后,刷新之后就回到第一页】的问题。
看博客园主页:
clipboard.png

没明白的话,继续:
1.点击页码,异步请求数据,同时改变地址栏的值
2.页面刷新,取到地址栏的值,加载对应页码的数据。

同样的,你的问题:
1.点击左侧菜单,右侧iframe更换src,地址栏变化。比如为xxx.com#index.html
2.刷新页面,取地址栏锚点值,比如index.html。然后左侧选中对应菜单,右侧src设置为取到的值。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题