在不重定向的情况下更改URL

时间:2012-05-14 17:17:20

标签: url browser href

我最近在一些网站上看到过这种情况,其中一个链接更改了window.location的href,但是当点击链接时页面没有重新加载,页面仍然向下滚动金额它在此之前。有谁知道这是怎么做的?

2 个答案:

答案 0 :(得分:1)

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

请注意,带有超链接的大多数有趣的商家都会混淆搜索引擎。确保您的网站在古老的浏览器中可以接受(Lynx浮现在脑海中)和/或在Google的Ajax Crawling Guidelines上阅读。

答案 1 :(得分: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”:将在地址栏中显示的新网址

参考: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 +