几个月前,我在vkontakte.ru(俄罗斯FB)上看到了一项新功能: 在用户页面之间进行时,不会发生浏览器重新加载。而是,新页面被预加载,然后显示。页面上的音乐播放器(它固定在页脚顶部)不间断地播放。
但是,浏览器地址栏中的网址会更改,而不会通过哈希标记或查询字符串进行更改。
所以,我的页面是vk.com/myPage ...我点击了一个朋友,他的页面预加载,然后显示,此时浏览器地址栏中的URL变为vk.com/myfriendJoe,并且没有浏览器重新加载
请注意,它仅适用于最新版本的Safari和Chrome等浏览器,对于像Firefox 3.6这样的其他版本,它实现了使用主题标签和查询字符串的回退。
我做了一些研究并找到window.history.pushState
,但它似乎只适用于查询字符串。
任何想法都将不胜感激。谢谢。
答案 0 :(得分:1)
这是HTML5定义的新history API。您可以看到另一个演示here。你是pushState
这样做是对的,但它不只使用查询字符串(正如该页面所示,它使用了根目录的相对网址,如/history/first
和/history/second
)。
答案 1 :(得分:1)
如果您使用的是符合HTML5标准的现代浏览器,则可以使用history.pushState()
API。
更多信息:https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history
答案 2 :(得分:-2)
网站是否在幕后使用ajax调用来重新填充页面的某些部分?这是不改变网址的一种方式。