JS中的location属性

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页面不会重新加载,但是会在浏览器中生成一条新的历史记录;

你可能感兴趣的:(web前端,javascript)