在Javascript中,最好是JQuery,当用户点击浏览器中的“后退”按钮时,如何在URL中添加内容?

问题描述 投票:3回答:2

当浏览器点击“后退”按钮时,我想在URL上附加“&page = 3”。我如何绑定它,然后这样做?

编辑:我希望这很简单。

BIND the event{
window.location(that-url + "&page=3")
}

这可以简单地完成吗?

javascript jquery browser
2个回答
19
投票

alt text听起来你正在尝试创建一个历史插件。

你尝试过使用mikage history plugin吗?

我不建议在离开当前页面时(这是后退按钮的操作)更改URL,因为您会立即删除前进历史记录(从而中断前进按钮)。当尝试使用分页和javascript / ajax处理后退按钮时,更典型的是使用浏览器哈希来传递参数。使用前进和后退按钮时,不会清除JavaScript命名空间,并根据使用的导航更新哈希值。这些历史插件有两种方法可以检测何时使用导航(因为doc load事件不会触发)。

所以要注意,编写历史插件并不简单,因为浏览器无法一致地处理位置对象(窗口对象的一部分)的哈希属性。你肯定想看看别人做了什么。


0
投票

我们使用window.location.hash来处理我们的应用程序中的历史记录。 我想它在单页应用程序中运行良好,非常简单。

对于多页面应用程序,我认为尝试控制和更改浏览器的自然页面历史记录并不是一个好主意。

当用户单击“后退”或“下一步”时,散列键将获取上一个或下一个值。 由于IE7,您需要使用轮询技术(但在所有浏览器中都可以),使用setInterval(...)和快速函数,如果哈希值已更改,则每隔300毫秒检查一次。

然后,如果发生变化,则相应地采取行动。 即:调用服务器并刷新页面中的某些区域。

它运行良好,并不会杀死应用程序的所有响应。

© www.soinside.com 2019 - 2024. All rights reserved.