javascript - 为 Web 应用程序使用后退和前进浏览器按钮

标签 javascript jquery web-applications webbrowser-control unobtrusive-javascript

如何使用浏览器的后退和前进按钮来导航我的 javascript/jQuery 网络应用程序?我知道我可以执行 window.location.href = 'this_url#placeholder' 然后执行适当的操作。但是当我这样做时,浏览器会滚动到具有该占位符 ID 的元素(如果没有,则滚动到顶部)。如何让浏览器不滚动到任何地方?我在 facebook 等其他网站上看到过这个,对此合适的机制是什么?

最佳答案

如果您使用 location.hash 而不是 location.href,您指定的行为就不会发生。

HTML5 标准指定了新的历史功能,例如history.pushState() 可以很好地替代它,但并非所有浏览器都支持它。

如果您不想推出自己的框架,可以使用许多提供此功能的 javascript 插件,所有这些插件都很好地打包,以便在实现略有不同的浏览器之间轻松使用。例如jquery history将在支持它的浏览器上使用较新的 history 选项,并在不支持的浏览器中回退到哈希 url。

关于javascript - 为 Web 应用程序使用后退和前进浏览器按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5346749/

相关文章:

jQuery FullCalendar 事件重叠(多个事件同一行)

javascript - 如何引用 Gmail 的文本框?

jquery addclass 不适用于 animate.css

java - 如何在java web应用程序中配置数据库参数?

cocoa-touch - 将 window.navigator.standalone 添加到 UIWebView DOM

javascript - 如何在 C++ vector 上从 javascript 存储和调用 v8::Value

javascript - 在 redux reducer 中更改状态的内部键

iphone - 如何在网络应用程序中访问 iPhone 通讯录?

javascript - 如果我不知道索引,如何循环遍历二维数组

javascript - Bootstrap 3 Navbar - 在列表项之间添加元素符号点