【问题标题】:How to use the DOM history object correctly如何正确使用 DOM 历史对象
【发布时间】:2013-05-11 00:18:45
【问题描述】:

根据 Mozilla 开发者网络上的这个页面,https://developer.mozilla.org/en-US/docs/DOM/Manipulating_the_browser_history,正在做window.history.back() ....

... 的行为与用户单击其页面中的“后退”按钮完全相同 浏览器工具栏

但这不是我发现的。

我有第 1、2、3 和 4 页,最后三页有自定义后退按钮。

如果我从 1 -> 2 -> 3 -> 4 点击,然后使用浏览器的后退按钮,我会从 4 -> 3 -> 2 -> 1 跳转。

如果我对自定义后退按钮执行相同操作,但是,当我尝试回溯时,它将变为 4 -> 3 -> 4 -> 3 -> 4 -> ...etc

有没有办法解决这个问题?

这是我的代码:

<button onclick="window.history.back()" id="back-btn" class="button left ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false"><span class="ui-button-text"><i class="icon-arrow-left"></i> Back</span></button>

(您会看到我正在使用 jQuery 对其进行样式设置...)

【问题讨论】:

  • 有趣。你有什么可以使用历史 API 的 pop/pushstate 功能的吗?
  • Ohgodwhy,除非 jQuery 在后台做了一些有趣的事情,但我对此表示怀疑......
  • 您使用的是 jQuery mobile 还是只使用 jQuery?
  • 只是 jQuery,Ohgodwhy

标签: javascript jquery dom browser-history


【解决方案1】:

我解决了这个问题。基本上我的按钮提交不正确。当我按下前进或后退按钮时,它似乎工作正常。当我检查网络接口时(通过萤火虫),我实际上一次触发了多个请求。

现在我的按钮可以正常工作了,历史记录也很好!

【讨论】:

    猜你喜欢
    • 2021-06-21
    • 2019-01-07
    • 1970-01-01
    • 1970-01-01
    • 2013-10-07
    • 2017-08-31
    • 2022-01-22
    • 2017-04-24
    • 2018-06-24
    相关资源
    最近更新 更多