location

参考

1.1、location对象中的属性
1.1.1、location.href

获取当前文档的URL,或者重新加载新的URL。

示例:

location.href += '/detail'
1.1.2、其他属性

对于文档的location.hrefhttp://blog.fpliu.com:3000/index?username=fpliu&password=123456#posix, 各个属性对应的值如下表:

属性对应值
location.protocolhttp:
location.hostblog.fpliu.com:3000
location.hostnameblog.fpliu.com
location.port3000
location.path/index
location.search?username=fpliu&password=123456
location.hash#posix

我们经常需要把queryStringkey和对应的value拿出来,这个功能没有提供,我们自己实现如下:

function getQueryString(key) {
    var reg = new RegExp("(^|&)" + key + "=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    r == null ? return null : return unescape(r[2]);
}
1.2、location对象中的方法
1.2.1、reload([boolean isReloadFromServer])

重新加载当前文档。isReloadFromServer参数如果没有或者为false表示不从服务器上重新加载,而是从缓存中加载。false表示从服务器重新获取并加载。

1.2.2、assign(String url)

加载一个新文档。

示例:

location.assign('http://blog.fpliu.com');
1.2.3、replace(String url)

加载一个新文档。与assign(String url)不同的是,replace(String url)调用了之后, 点击浏览器的返回按钮看不到原来的那个页面了,因为那个页面被replace掉了。

示例:

location.replace('http://blog.fpliu.com');