【发布时间】:2015-12-06 00:17:16
【问题描述】:
我正在开发一个 jQuery Mobile 应用程序。 jQuery Mobile 默认使用pushState 来允许浏览器的后退按钮动态工作。
现在,我的应用程序旨在动态更改其页面,并且用户在加载应用程序时应该始终到达首页。
问题是,每当我转到应用程序中的页面时,jQuery Mobile 都会更新 URL 中页面的哈希值。现在,如果用户在应用程序中输入相同的哈希值,jQuery Mobile 将自动将它们带到该页面(当我希望它们由我的代码处理时)。此外,如果他们刷新页面,我希望我的代码将它们带回应有的位置,而不是直接移动到 URL 的哈希值。
为了防止这种情况,我尝试在mobileinit 事件中添加以下代码:
$.mobile.hashListeningEnabled = false;
这可行,但它也会禁用 pushState 更新,这反过来会破坏后退按钮,这是我不希望发生的。
什么是允许用户使用后退按钮但仍不允许在页面之间手动移动的最佳方式?
【问题讨论】:
-
你已经在这个问题上投入了 100 个代表;您有两个答案,它们是否帮助您解决了问题?
标签: javascript jquery jquery-mobile pushstate