【问题标题】:How to determine if a location.hash change from back button or otherwise如何确定 location.hash 是否从后退按钮或其他更改
【发布时间】:2011-06-24 10:56:26
【问题描述】:

我正在使用历史插件制作一个 web 应用程序,该插件将诸如 mysite.com/#news 之类的 url-fragments 映射到视图。这是一个移动 HTML5 JavaScript 应用程序,当从 mysite.com/#news 转到 mysite.com/#stuff 时,页面之间会出现一个很好的从右到左滑动的动画。都很好。

然后用户单击浏览器的“返回”按钮,位置变回 /#news,预期的转换将是从左到右。但是我怎么知道点击了“后退”而不是“前进”或点击了某个链接?

历史插件只是轮询哈希更改 - 它不知道是什么原因造成的。我找不到任何有用的本机事件来绑定和安全阻止访问 window.history 数组。

有什么办法吗?

【问题讨论】:

    标签: javascript mobile history transition back


    【解决方案1】:

    我会在每个页面上存储我所在的页面以及我来自 cookie 或存储中的页面,然后查看我之前所在的页面是什么。 IE。在我的网站中保留我自己的历史记录。这可以与难以捉摸的 document.referrer 相结合,以查看我是否进入了没有推荐人的页面,这可能表明我使用了书签

    【讨论】:

    • 我也在考虑类似的事情。如果您预计有几个后退/前进,它可能会变得非常混乱。现在我只是为我不知道方向的时候制作了一个“淡入淡出”的动画。
    猜你喜欢
    • 1970-01-01
    • 2017-06-11
    • 1970-01-01
    • 2019-08-28
    • 1970-01-01
    • 2018-03-02
    • 2021-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多