无需离开当前页面即可打开新页面

时间:2011-08-30 08:28:26

标签: javascript ajax

感谢您阅读我的问题。 我看到Gizmodo& Lifehacker有这个功能。 看看这个http://lifehacker.com/ 当您单击右侧边栏中的链接时,例如(http://lifehacker.com/5835630/apple-launches-itunes-match-beta-for-developers)。地址栏显示“http://lifehacker.com/5835630/apple-launches-itunes-match-beta-for-developers”,表示新页面已打开。但是当前页面的内容没有改变,比如AJAX加载。但不同的是:当使用AJAX加载时,我们会向新页面发出请求,但地址栏仍然是当前的URL。 lifehacker.com的地址栏显示目标网址,而不是当前网址。 我试图检查请求,并看到Lifehacker.com向打开的页面发出POST请求(http://lifehacker.com/5835630/apple-launches-itunes-match-beta-for-developers),然后呈现内容,如AJAX加载,但我的问题是为什么他们的地址显示新的URL而不是URL(或像http://lifehacker.com/#something的hashbang网址)。 我在不同的浏览器中测试过,此功能仅适用于Chrome& FF,不是Opera和IE,所以我认为是Chrome& FF,是吗? 三江源

1 个答案:

答案 0 :(得分:1)

这是通过HTML5历史记录API或包含iFrame的旧版黑客实现的。

有关HTMl5历史的信息,请参阅此文章: http://diveintohtml5.ep.io/history.html

this demo了解code in question

您可能还想查看提供此功能的PJax library(通过上述方式)