如何使用window.location.replace javascript?

前端之家收集整理的这篇文章主要介绍了如何使用window.location.replace javascript?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的网址
http://www.mysite.com/folder1/page1.aspx
http://www.mysite.com/folder1/page1.aspx?id=1
http://www.mysite.com/folder1/page1.aspx?id=1&dt=20111128

重定向页面

http://www.mysite.com/folder1/page2.aspx

我想从page1.aspx重定向到page2.aspx

如何在page1.aspx中写一个javascript?

window.location.replace("/page2.aspx");
window.location.replace("../page2.aspx");
window.location.replace("~/page2.aspx");

第一个2给了我这个.

http://www.mysite.com/page2.aspx

最后一次给了我这个.

http://www.mysite.com/folder1/~/page2.aspx

什么是正确的使用方法

包括没有路径信息,就像在链接中:
window.location.replace("page2.aspx");

Here’s a live example这个例子在之间切换

http://jsbin.com/asupup/2   -- The "2" corresponds to your "page1.aspx"

…和

http://jsbin.com/asupup/3   -- The "3" corresponds to your "page2.aspx"

…所以2页使用

window.location.replace("3");

…和3页使用

window.location.replace("2");

有关URL(特别是相对URL)如何工作的更多信息,请参阅RFC3986.但是基本上:

>如果相对URL不以.或/,它替代最后一个细分.所以:

http://foo.com/one/two/page.html
+ bar.html
= http://foo.com/one/two/bar.html

>如果相对URL以../开头,它将替换最后一个片段和上一个片段.

http://foo.com/one/two/page.html
+ ../bar.html
= http://foo.com/one/bar.html

请注意,这两个子文件夹已被替换.多个../s可以用来上移多个级别:

http://foo.com/one/two/three/four/page.html
+ ../../bar.html
= http://foo.com/one/two/bar.html

>如果相对URL以单个/开头,则会替换主机名(和端口(如果有))后面的所有内容.所以:

http://foo.com/one/two/page.html
+ /bar.html
= http://foo.com/bar.html

  http://foo.com:8080/one/two/page.html
+ /bar.html
= http://foo.com:8080/bar.html

>如果一个相对URL以//开头,它将替换协议之后的所有内容,因此:

http://ex.com/folder/page.html
+ //foo.com
= http://foo.com

(这在加载资源时很方便,并且您想避免担心http与https和混合内容警告.)

猜你在找的Windows相关文章