美文网首页
window.history.length的大坑

window.history.length的大坑

作者: microkof | 来源:发表于2019-10-25 14:36 被阅读0次

这个大坑就是:不要用window.history.length确定是否还能继续回退。

记住,window.history.length只表示你看过了多少个页面。

如果你访问了三个页面,然后又点回退按钮,退回来,退到第一个页面,请问,window.history.length此时是几?

是1?错!是3!这就是坑爹的地方,你无法根据window.history.length确定是否还能继续回退。

当然了,如果window.history.length是1,那么肯定是不能回退了,但是大于1,你就不敢说能不能继续回退。

那么,究竟怎样判断是否还能继续回退呢?

办法只能是:

随时记录当前页面URL,当执行了history.go(-1)之后,获得新的页面URL,然后跟从前记录的URL做对比,如果一致,说明没回退成功,那么就是回退到头了。

这个办法在非极端场合是够用的,如果某些时候服务器强制回退,或者前后URL一致但还真就不是一个页面,那么我这个方法就失效了。

所以,应仔细规范自己的项目,避免极端情况。

相关文章

  • window.history.length的大坑

    这个大坑就是:不要用window.history.length确定是否还能继续回退。 记住,window.hist...

  • vue返回上一页

    back(){ if (window.history.length <= 1) { this....

  • 判断浏览器可否返回

    根据实际框架吧,这里用了backbone,否则可以根据实际情况用 window.history.length 或...

  • Appium初探(842)

    Appium环境配置 这是个大坑,是个大坑,个大坑,大坑,坑... 网上的资料大多过时,或者不完整,走了很多弯路。...

  • k8s部署-27-k8s与cicd持续集成、交付、部署的总流程(

    大坑!大坑!大坑!!! 为什么昨天请假一天?就因为这个大坑(以前没发现啊)。 前提:想弄个最新的安装文档,自然而然...

  • 坑和炕

    吃饭回来的路上,看到一个“大坑烧烤”。 先生说“这是大坑烧烤还是大炕烧炕”。 我,“大坑烧烤”。 先生,“那炕怎么...

  • 你所拥有的最宝贵的财富究竟是什么?

    摘录: 人生三大坑。 第一个大坑叫做“莫名其妙的凑热闹。” 第二个大坑叫做“心急火燎地随大流”。 第三个大坑叫做“...

  • 大坑

    所谓大坑,就是蓄水的坑塘,下雨的时候,雨水从院里顺着路往外一直流,流到大坑算是个终点。小时候,每个村都有一个或者几...

  • 大坑

    在我的老家,人们习惯把池塘叫做“坑”,大的池塘就叫“大坑”。村子里面就有一个大坑,到底是什么时候开始有这个大坑的,...

  • 大坑

    一不小心,給自己挖了個大坑,往下一跳,爬不上來了。 起因是老師讓寫作品參展,勉強應下,驀然想到美得過分的《二十四詩...

网友评论

      本文标题:window.history.length的大坑

      本文链接:https://www.haomeiwen.com/subject/mppmhxtx.html