从像Facebook这样的Javascript更改URL

Nic*_*las 3 javascript ajax facebook back-button

我目前正在使用面向AJAX的Web应用程序.我一直在寻找使用浏览器url复制当前AJAX状态(或应用程序状态)的不同方法,因此刷新和后退按钮也可以工作.

在过去的几周里,我看到了不同的方法,包括使用哈希(#)和不同的JS框架.

在文档中说明,无法从JS更改浏览器URL.今天我去了Facebook并打开了一张图片,网址发生了变化(Altough图像在灯箱中打开).关闭图像后,​​浏览器URL将更改回原始页面.

你知道他们是如何实现这种行为的吗?

小智 8

HTML5的一项功能支持您所指的内容.请参阅http://spoiledmilk.dk/blog/html5-changing-the-browser-url-without-refreshing-page.

有些系统通过检查window.history.pushState来实现这一点,如果是这样,使用它,否则回退到hashtags.如果关注SEO,请使用#!代替 #.请参阅 http://code.google.com/intl/es/web/ajaxcrawling/docs/getting-started.html.

希望有所帮助.