AJAX 和后退按钮

发布于 2024-11-30 22:29:56 字数 122 浏览 0 评论 0原文

我如何使用 AJAX 保存历史记录,就像 github 或 google+ 所做的那样。我使用 jQuery,我不想使用像 # 和 #! 这样的 hack。技巧,因为如果我这样做,我将需要改变我的整个项目并使我的生活变得更加复杂?

How can I save history with AJAX just how github or google+ do. I use jQuery and I do not want to use some kind of hack like the # and #! tricks, because if I do, I'll need to change my whole project and make my life much more complicated?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

只为一人 2024-12-07 22:29:56

Github 和 Google+ 正在使用 history.pushState

您可以像这样更改当前 url:

history.pushState(null, null, '/the-new-url');

Firefox、Chrome、Opera、Safari 支持此功能;不是IE。

请参阅 https://developer.mozilla.org/en/ DOM/Manipulate_the_browser_history#The_pushState%28%29.c2.a0method

Github and Google+ are using history.pushState.

You can change the current url like this:

history.pushState(null, null, '/the-new-url');

This is supported by Firefox, Chrome, Opera, Safari; not IE.

See https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history#The_pushState%28%29.c2.a0method

困倦 2024-12-07 22:29:56

谈到 AJAX 和历史记录时,基本上有两种选择。

  1. # 方法(顺便说一句,这不是黑客)。因为你不想要那个,所以你只剩下选项 2。

  2. 使用 PushState。 Facebook、GitHub 和其他一些公司都使用这种方式。但并非所有浏览器都支持它,如果您想要完全的跨浏览器兼容性,您将必须使用可以降级为选项 1 的系统。

实现此功能的一个非常简单的方法是 Backbone.js Router 类。

There are basically two options when it comes to AJAX and history.

  1. The # method (which isn't a hack btw). Since you don't want that one you only have option 2 left.

  2. Use PushState. This is what Facebook, GitHub and a few others use. It's not supported by all browsers though and if you want complete cross-browser compatibility you will have to use a system which can degrade to option 1.

A very simple way to implement this is Backbone.js Router class.

神仙妹妹 2024-12-07 22:29:56

有一个一个简单的 jQuery hashchange 插件 旨在解决这个特定问题。

我没用过;我不知道它如何跟踪 url 历史记录。

There is a simple jQuery hashchange plugin that is designed to solve this specific problem.

I haven't used it; I don't know how it keeps track of the url history.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文