JS中的location属性

  • Post author:
  • Post category:其他


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 版权协议,转载请附上原文出处链接和本声明。