location属性一般引用自Location对象,可以用于获取或者设置当前的URL。
window.location === document.location; //true 均引用自Location对象;
URL的一般组成包括:
eg: protocol://[user[:password]@]hostname:[port][/path][?query][#fragment]
获取URL的方式包括:
location.href
location.toString()
location.toLocaleString()
document.URL
设置URL的方式:
location.href = " xxx"; //不加协议会默认为相对路径,location="xxx"类似
window.location对象的其他属性包括:
location.host //主机加端口号
location.hostname //主机
location.port //端口号
location.protocol //协议
location.pathname //路径
location.hash //片段标识符,可以用于保存网页状态
location.search //返回链接内的查询字符串(包括问号,不包括片段标识符`#`部分)
这些URL属性均是可写的,该对象还有其他方法如locatioin.replace()、location.assign()、location.reload()等;
location.assign()会在浏览器的历史记录中增加一条新纪录;
location.replace()会使用新URL覆盖浏览器的当前历史记录;
location.reload()会重新加载当前页面,默认不传参如果存在缓存会从浏览器缓存中加载;如果传入Boolean类型的true,则会强制从服务器加载;
location.assign('http://www.baidu.com');
location.reload() // 可能从浏览器缓存加载
location.reload(true) // 强制从服务器端加载
每次修改location的属性(除hash外),页面都会以新URL重新加载;
虽然修改location.hash页面不会重新加载,但是会在浏览器中生成一条新的历史记录;
版权声明:本文为luofeng457原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。