Location对象

当前浏览器窗口中显示的页面的URL;既是window对象的属性,也是document对象的属性;以https://www.javascript.com:8080/js/#section?q=javascript为例

一、属性

1、href

含义:当前加载页面的URL。

使用:

location.href;      // "https://www.javascript.com:8080/js/#section?q=javascript"

2、hash

含义:返回URL中的hash(#后的字符)。

使用:

location.hash;      // "#section?q=javascript"

3、host

含义:返回URL的网址和端口。

使用:

location.host;      // "www.javascript.com:8080"

4、hostname

含义:返回URL的网址。

使用:

location.hostname;      // "www.javascript.com"

5、pathname

含义:返回URL的目录或文件名。

使用:

location.pathname;      // "/js"

6、port

含义:返回URL的端口。

使用:

location.port;      // "8080"

7、protocol

含义:返回URL使用的协议。

使用:

location.protocol;      // "https:"

8、search

含义:返回URL的查询字符串;如果前面已经有#,则返回的结果为空字符串。

使用:

location.search;      // ""

二、方法

1、toString()

含义:返回当前页面的URL,同location.href

使用:

location.toString();      // "https://www.javascript.com:8080/js/#section?q=javascript"

2、assign(URL)

含义:加载新的URL,可以后退;有协议的URL。

使用:

location.assign('https://www.baidu.com');       // URL有'https://'协议;加载后可以后退到之前的URL

3、reload()

含义:重新加载当前页面。

使用:

location.reload();

4、replace(URL)

含义:加载新的URL替代当前URL,不能后退;有协议的URL。

使用:

location.replace('https://www.baidu.com');      // URL需要有'https://'协议;加载后不能后退到之前的URL

三、应用

1、位置操作

即改变当前页面的URL;如当前页面的URL为:https://www.baidu.com/js/location.html

  • location
location = 'screen.html';       // "https://www.baidu.com/js/screen.html",只设置'pathname',所以只替换相应部分
location = 'www.baidu.com';     // "https://www.baidu.com/js/www.baidu.com",不带协议,也是替换部分'pathname'

location = 'https://www.baidu.com';     // "https://www.baidu.com",有'https://'协议,全部替换,页面可后退到之前的URL
  • assign()
location.assign('https://www.baidu.com');       // "https://www.baidu.com",有'https://'协议;页面可后退到之前的URL
  • replace(URL)
location.replace('https://www.baidu.com');      // URL需要有'https://'协议;页面不能后退到之前的URL

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器