Go to http://www.facebook.com/facebook?v=wall,然后单击信息选项卡。内容将被加载,地址栏现在变成http://www.facebook.com/facebook?v=info但网页没有重新加载。
起初我以为是Ajax,但我的问题是,如何在不重新加载的情况下更改地址栏?我知道我可以使用 JS 更改锚点(#wall),但是查询字符串(?v=wall),如何?
它使用 HTML5 的新功能history.pushState()允许页面伪装成位于与最初获取页面不同的 URL 的功能。
目前看来只有 WebKit 支持,这就是为什么我们其他人都看到?v=wall#!/facebook?v=info
代替?v=info
.
该功能允许动态加载的页面在支持 JS 和不支持 JS 的用户代理之间正确添加书签、交换等。因为如果你作为 JS 用户将某人链接到?v=wall#!/facebook?v=info
而且他们的浏览器不支持 JS 和 XMLHttpRequest,该页面无法为他们工作。这#!
也用作搜索引擎下载非 AJAX 版本的提示。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)