更改URL而不重定向

更改URL而不重定向,url,browser,href,Url,Browser,Href,我最近在一些网站上看到了这一点,其中一个链接更改了窗口的href.location,但当单击链接时,页面不会重新加载,页面仍按以前的数量向下滚动。有人知道这是怎么做到的吗?您正在考虑的站点可能使用新的HTML5历史API,它允许您更改后退按钮和地址栏的行为。下面是一个演示: 请注意,最有趣的超链接业务将混淆搜索引擎。确保你的网站在一个古老的浏览器(我想到的)中可以正常工作和/或在谷歌上阅读。如果你想在不重新加载页面的情况下更改浏览器地址栏中的URL,请执行此操作 <a href = "#"

我最近在一些网站上看到了这一点,其中一个链接更改了
窗口的href.location
,但当单击链接时,页面不会重新加载,页面仍按以前的数量向下滚动。有人知道这是怎么做到的吗?

您正在考虑的站点可能使用新的HTML5历史API,它允许您更改后退按钮和地址栏的行为。下面是一个演示:


请注意,最有趣的超链接业务将混淆搜索引擎。确保你的网站在一个古老的浏览器(我想到的)中可以正常工作和/或在谷歌上阅读。

如果你想在不重新加载页面的情况下更改浏览器地址栏中的URL,请执行此操作

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

stateObj=将在其中推送页面当前状态的堆栈

“第2页”:FF当前忽略此参数

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

参考:

受以下支持:FF 4.0+、Chrome 8.0+、Safari 5.0+、Opera 11.5+、IPhone 4.2.5+