更改没有页面重新加载的整个URL

时间:2013-06-24 17:53:25

标签: javascript html url browser

是否可以更改页面的整个URI而无需重新加载页面并实际转到新的URI?我知道我们可以更改相对于根域的URL,即stackoverflow.com - > stackoverflow.com/asdf

可以这样做吗?

stackoverflow.com - > quora.com


我要求确保这是不可能的。

编辑:这个问题有所不同,因为我问的是,是否可以更改域名之后的路径,而不是域名本身。

3 个答案:

答案 0 :(得分:4)

根据设计,似乎无法更改域名:

http://badassjs.com/post/840846392/location-hash-is-dead-long-live-html5-pushstate

引用文章:

  

window.history.pushState(data,“Title”,“/ new-url”);

     

最后一个参数是新网址。出于安全考虑,您只能这样做   更改URL的路径,而不是域本身。

答案 1 :(得分:1)

回答您是否可以执行以下操作的问题:

stackoverflow.com -> quora.com

使用HTML历史记录API只允许将状态推送到 在同一域的网址中,答案是

答案 2 :(得分:0)

以前遇到过这个问题而无法重新加载,无法找到解决方法... 它是Location对象http://www.w3schools.com/jsref/obj_location.asp的一部分。即使您更改查询参数,它也会重新加载页面,这是有意义的,最后是一个不同的URL。 到目前为止,你唯一能做的就是玩#(hash)参数。

可能对您有所帮助的是HTML5历史记录API http://html5demos.com/history。它可以根据您的需要修改网址...但仅限于子域。