window.location

« DOM 参考

概述

返回一个包含了当前文档的地址信息的location对象.给这个对象的属性赋值可以改变当前文档的地址(URL).

语法

var oldLocation = window.location;
window.location = newLocation;

其中

  • oldLocation是一个 Location对象,提供了当前文档URL的相关信息以及几个用来改变这个URL的方法.他的属性和方法在下面的两个表中有详细介绍.
  • newLocation可以是一个Location对象,但通常是字符串,指定了要跳转到的URL地址.

属性

下面的这些属性都返回字符串类型的值.你可以读取这些值,也可以通过给它们赋值来跳转到新的URL地址.其中"演示"一栏的值来自这个URL: http://www.example.com:80/search?q=devmo#test

属性名 描述 演示
hash URL中第一个#号后面的字符串,包括#本身.
你可以通过监听hashchange事件来在该值变更时得到通知.
#test
host URL的主机名加端口号. www.example.com:80
hostname URL的主机名(没有端口号). www.example.com
href URL的完整地址. http://www.example.com:80/search?q=devmo#test
origin URL的源. http://www.example.com:80
pathname URL的路径 /search
port URL的端口号. 80
protocol URL的协议. http:
search URL中第一个?号后面的字符串,包括?本身. ?q=devmo

注: 在Firefox中,如果URL中的hash部分包含了编码过的字符串,那么hash属性会返回那个字符串解码后的值(bug 483304).而href,searchpathname属性会直接返回原本编码过的值.

方法

方法名称 描述
assign(url) 根据URL的值跳转到指定的页面.
reload(forceget) 刷新当前页面.参数forceget是一个布尔值,如果值为true,则表示不要从缓存中读取该页面,而要始终从服务器上获取最新的页面.如果值为false或者没有指定该参数,则浏览器可能会从缓存中读取.
replace(url)

根据URL的值跳转到指定的页面.和assign()方法不同的一点是,使用replace()方法跳转的新页面地址不会被添加到历史记录列表中,这就意味着用户不能通过后退按钮重新回到这个页面中.

toString() 返回Location对象所包含的URL字符串.查看JavaScript参考了解详情.

示例

例子: 跳转到一个新的页面

window.location.assign("http://www.mozilla.org"); // 或者直接赋值
window.location = "http://www.mozilla.org";

例子: 跳过缓存刷新当前页面

window.location.reload(true);

规范

WHATWG HTML Living Standard

浏览器兼容性

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
window.location.origin ? 21 (21) ? ? ?
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
window.location.origin ? 21.0 (21) ? ? ?

相关链接

Document Tags and Contributors

Contributors to this page: ziyunfei
最后编辑者: ziyunfei,