location 对象包含当前URL的信息
location 对象是window 对象的一部分,可通过window.Location属性对其进行访问
ps: 没有应用于Location对象的公开标准,不过所有的浏览器都支持该都改对象
location的对象属性
属性 | 描述 |
---|---|
hash | 返回一个URL的锚部分 |
host | 返回一个URL主机名和端口 |
hostname | 返回URL的主机名 |
href | |
pathname | |
port | |
protocol | |
search |
location的对象方法
方法 | 说明 |
---|---|
assign() | 载入一个新的文档 |
reload() | 重新载入当前的文档 |
replace() | 用新的文档替换当前文档 |
hash属性
hash属性是一个可读可写的字符串,该字符串是URL的锚部分(从#号开始的地方)
location.hash (所有的浏览器都支持hash属性)
返回一个URL的部分。假设当前的URL是:
http://www.xxx.xx/test#ssgao1987
<script>
console.log(location.hash);//输出为#ssgao1987
</script>
host属性
host属性是一个可读可写的字符串,可设置或返回当前URL的主机名称和端口
location.host (所有的浏览器都支持host属性)
返回当前URL的主机名和端口
http://www.baidu.com/ssgao1987
<script>
console.log(location.host); //返回的结果为:www.baidu.com
</script>
hostname属性
hostname属性是一个可读可写的字符串,可设置或返回当前URL的主机名
location.hostname(所有主要的浏览器都支持)
返回当前URL的主机名
http://www.baidu.com/ssgao1987
<script>
console.log(location.host); //返回的结果为:www.baidu.com
</script>
href属性
href属性是一个可读可写字符串,可设置或返回当前显示的文档的完整的URL
location.href(所有的浏览器都支持)
返回完整的URL(当前页):
例如:http://www.baidu.com/ssgao1987
<script>
console.log(location.href);
</script>
输出的结果:
http://www.baidu.com/ssgao1987
pathname属性
pathname属性是一个可读可写的字符串,可设置或返回当前URL的路径部分
location.pathname(所有的浏览器都支持)
返回当前URL的路径名
http://www.baidu.com/ssgao1987
<script>
console.log(location.pathname);
</script>
输出的结果为:/ssgao1987
port属性
port属性是一个可读可写的字符串,可设置或返回当前URL的端口部分
ps:如果端口就是80(这是默认的端口)无需指定
location.port(所有的浏览器都支持)
返回当前URL的端口号
http://127.0.0.1:8090/ssgao
<script>
document.write(location.port);
</script>
输出结果为:8090
protocol属性
protocol属性是一个可读可写的字符串,可设置或返回当前URL的协议
location.protocol (所有的浏览器都支持)
返回当前URL的协议部分
<script>
console.log(location.protocol);
<script>
输出的结果: http1.1
search属性
search属性是一个可读可写的字符串,可设置或返回当前URL的查询部分(问号?之后的部分)
location.search(所有的浏览器都支持)
返回URL的查询部分,假如当前的URL就是http://www.baidu.com/ssgao?name=aouo&age=34
<script>
console.log(location.search);
</script>
输出的结果为:?name=aouo&age=34
assign()方法
该方法用于重新加载一个新的文档
location.assign(URL)(所有的浏览器都支持assign()方法)
<!DOCTYPE html>
<html>
<head>
<script>
##加载一个新的文档
function newDoc(){
window.location.assign("http://www.baidu.com")
}
</script>
</head>
<body>
##点击载入新的文档
<input type="button" value="载入新文档" onclick="newDoc()">
</body>
</html>
reload()方法
reload()方法用于刷新当前文档,类似与浏览器上的刷新按钮
所有的主要浏览器都支持reload()方法
location.reload(forceGet)
forceGet booean 类型
可选,如果该方法的参数设置为true,那么无论文档的最后修改日期是什么,它都会绕过缓存,从服务器上重新下载该文档,这与用户在单击浏览器的刷新按钮是按住shift按键的效果一样
replace()方法
replace()方法可用一个新的文档取代当前的文档
location.replace(newURL);(所有的浏览器都支持)
<!DOCTYPE html>
<html>
<head>
<script>
## 替换当前文档内容
function replaceDoc(){
window.location.replace("http://www.runoob.com")
}
</script>
</head>
<body>
<input type="button" value="载入新文档替换当前页面" onclick="replaceDoc()">
</body>
</html>