2012-05-14 67 views
0

我最近在几个网站上看到了链接已更改window.location的href,但页面在链接被单击时不会重新加载,并且页面仍然由它之前的数量。有谁知道这是如何完成的?在不重定向的情况下更改网址

回答

1

您正在考虑的网站可能使用新的HTML5历史记录API,它允许您更改后退按钮和地址栏的行为。这里有一个演示:http://html5demos.com/history

请注意,最有趣的业务与超链接会混淆搜索引擎。确保您的网站在古代浏览器中可以接受(Lynx),或者在Google的Ajax Crawling Guidelines上阅读。

1

如果你想改变在浏览器地址栏中的URL无需重新加载页面,这样做

<a href = "#" onclick="var stateObj = { foo: window.location.href };history.pushState(stateObj, "page 2", "newpage.html");">Change URL</a> 

stateObj =该堆,其中,网页的当前状态将被推

“page2”:此参数目前被FF忽略。

“newpage.html”:新将被显示在地址栏中的URL

参考:https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history

支持:FF 4.0 +,Chrome浏览器8.0以上版本,Safari 5.0以上版本Opera 11.5+,iPhone 4.2.5+

相关问题