解决 iframe 后退不是主页面后退(浏览器 history)问题

 

 

前言:项目中的主页面里有 iframe,切换 iframe 的 src 地址之后,再点浏览器的回退之后,会导致 iframe 里面回退,而不是主页面回退。

问题

  浏览器机制的原因,在 iframe 导航变化后手动点击浏览器的后退按钮也依然只是后退 iframe 中的导航。

  但是我只想让父页面后退,并不想让 iframe 后退,但在改变了 iframe 的 src 后就达不到这样的效果。

解决

  不要修改 iframe.src,而是删除旧 iframe 元素,新建一个 iframe 元素并替换它,这样不会产生 history。
  直接 createElement,替换原来的 iframe。

 
我自己的办法是在当前页面记录点击更换iframe的次数,然后js返回的时候使用记录下的次数,当然,不如上面的办法聪明,看起来听笨的样子
posted @ 2020-05-15 16:58  大尹  阅读(2962)  评论(0编辑  收藏  举报