如何“添加书签”使用 AJAX 获取页面或内容?
如何为使用 AJAX 获取的页面或内容添加“书签”?
看起来,如果我们只是将详细信息添加到“锚点”,然后使用路由,甚至在 PHP 代码或 Ruby on Rails 的route.rb 中,捕获该部分,然后显示内容或页面,这似乎很容易因此? (显示整个页面或部分内容)
那么可以很简单吗?看起来 Facebook 就是这么做的。还有哪些其他好的方法可以做到这一点?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
更新:现在有 HTML5 History API(pushState、popState),它弃用了 HTML4
hashchange
功能。 History.js 提供跨浏览器兼容性和 可选hashchange
HTML4 浏览器的后备。存储历史记录页面上,最流行且功能齐全/支持的方式是使用 hashchanges。这意味着,假设您从
yoursite/page.html#page1
转到yoursite/page.html#page2
,您可以跟踪该更改,并且因为我们使用哈希值,所以可以跟踪该更改可以通过书签以及后退和前进按钮来拾取。您可以使用 jQuery History 项目找到一种绑定哈希更改的好方法
http://www.balupton.com/projects/jquery-history
还有一个全功能的 AJAX 扩展,允许您轻松地将 Ajax 请求集成到您的状态/哈希中,将您的网站转变为全功能的 Web 2.0 应用程序:
http://www.balupton.com/projects/jquery-ajaxy
他们都提供了很棒的他们的演示页面上的文档解释了正在发生的事情和正在发生的事情。
以下是使用 jQuery History 的示例(取自演示站点):
以及 jQuery Ajaxy 的示例(取自演示站点):
如果您想获取查询字符串参数(因此
yoursite/page .html#page1?ab=1&ac=2
)您可以使用:所以请查看这些演示链接以查看它们的实际情况,以及所有安装和使用详细信息。
Update: There is now the HTML5 History API (pushState, popState) which deprecates the HTML4
hashchange
functionality. History.js provides cross-browser compatibility and an optionalhashchange
fallback for HTML4 browsers.To store the history of a page, the most popular and full featured/supported way is using hashchanges. This means that say you go from
yoursite/page.html#page1
toyoursite/page.html#page2
you can track that change, and because we are using hashes it can be picked up by bookmarks and back and forward buttons.You can find a great way to bind to hash changes using the jQuery History project
http://www.balupton.com/projects/jquery-history
There is also a full featured AJAX extension for it, allowing you to easily integrate Ajax requests to your states/hashes to transform your website into a full featured Web 2.0 Application:
http://www.balupton.com/projects/jquery-ajaxy
They both provide great documentation on their demo pages to explain what is happening and what is going on.
Here is an example of using jQuery History (as taken from the demo site):
And an example of jQuery Ajaxy (as taken from the demo site):
And if you ever want to get the querystring params (so
yoursite/page.html#page1?a.b=1&a.c=2
) you can just use:So check out those demo links to see them in action, and for all installation and usage details.
如果您使用jquery,则可以以简单的方式做到这一点。只需使用 ajaxify 插件即可。它可以管理 ajax 页面的书签和许多其他东西。
If you use jquery, you can do that in a simple manner. just use ajaxify plugin. it can manage bookmarking of ajax pages and many other things.
检查一下,有些东西可能会对您有所帮助:
注意:所有文章都是俄语,因此要么 Google 翻译它们,要么只是查看代码并猜测详细信息。
Check this, something may help you:
Note: all articles are in Russian, so either Google Translate them, or just review the code and guess the details.
查看单页界面宣言
Take a look to the Single Page Interface Manifesto
我尝试了很多包。 jQuery History 插件似乎是最完整的:
http://github.com/tkyk/jquery-历史插件
I tried many packages. The jQuery History plugin seems to be most complete:
http://github.com/tkyk/jquery-history-plugin