JavaScript BOM学习笔记7——location对象

本文深入探讨了location对象的功能,包括如何解析URL、获取URL的不同部分以及使用location对象进行页面跳转和资源加载控制。通过示例代码展示了location对象在网页开发中的实际应用,强调了其在优化用户体验和页面导航中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

location对象既是window对象的属性,又是document对象的属性。它表示当前载入窗口的URL,此外,它还可以解析URL:

解析项目解释举例
hash若URL包含#,该方法将返回#之后的内容http://www.a.com/index#selection1的hash就是#selection1
host服务器名www.wrox.com
hostname通常等于host,有时省略www
href当前载入页面的url
pathnameURL中主机后面的部分http://a.com/pics/index.html的pathname是/pics/index.html
port请求端口

默认情况下,大多数都没有端口信息,因此一般该属性为空白。

http://www.a.com:8080的port为8080

protocol协议http、ftp等
search执行GET请求的?之后的部分,也就是查询字符串?username=aaa

 

location.href可以用来获取或者设置窗口的URL,与document.URL类似。此外还可以使用location.assign()方法。

如果不想让包含脚本的页面能从浏览器历史中被访问,那么可以使用location.replace()方法。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd"
    >
<html lang="en">
<head>
    <title><!-- Insert your title here --></title>
</head>
<body>
    <script type="text/javascript">
        setTimeout(function(){
            location.replace("http://www.wrox.com");
        },1000);
    </script>
</body>
</html>

 上面这段代码,当页面转到www.wrox.com之后,你再点击后退按钮是无效的。也就是说浏览器历史中已经没有转向前的那个页面了。这一点需要注意。

  location对象还有一个reload()。这个方法接受一个布尔值。false则表示从缓存中重新加载,true则表示从服务器重新加载。默认为false。

 location还有一个toString()方法,该方法返回location的href属性

  最后再说一次,window.location 和 document.location是等价的,可以互相使用

 

 

参考书:
《JavaScript高级编程》Nicolas C. Zakas著, 曹力 张欣 等译。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值