Location对象

Location对象表示其链接到的对象的位置URL,所做的修改反映在与之相关的对象上。DocumentWindow对象都有这样一个链接到Location,分别通过document.locationwindow.location访问。

属性

  • location.href: 包含整个URL的一个DOMStringDOMString是一个UTF-16字符串,由于JavaScript已经使用了这样的字符串,所以DOMString直接映射到一个String
  • location.protocol: 包含URL对应协议的一个DOMString,最后有一个:
  • location.host: 包含了域名的一个DOMString,可能在该串最后带有一个:并跟上URL的端口号。
  • location.hostname: 包含URL域名的一个DOMString
  • location.port: 包含端口号的一个DOMString
  • location.pathname: 包含URL中路径部分的一个DOMString,开头有一个/
  • location.search: 包含URL参数的一个DOMString,开头有一个?
  • location.hash: 包含块标识符的DOMString,开头有一个#
  • location.origin: 只读,包含页面来源的域名的标准形式DOMString
  • location.ancestorOrigins: 只读,返回结构是静态DOMStringList,以相反的顺序包含与给定Location对象关联的文档的所有祖先浏览上下文的来源,可以根据location.ancestorOrigins来确定某个站点构架了iframe文档,该属性目前尚在提案中。

方法

  • location.assign(): 加载给定URL的内容资源到这个Location对象所关联的对象上,即用来加载一个新文档。

  • location.reload(): 重新加载来自当前URL的资源,其有一个特殊的可选参数,类型为Boolean,该参数为true时会导致该方法引发的刷新一定会从服务器上加载数据,如果是false或没有指定这个参数,浏览器可能从缓存当中加载页面。

  • location.replace(): 用给定的URL替换掉当前的资源,与assign()方法不同的是用replace()替换的新页面不会被保存在会话的历史History中,这意味着用户将不能用后退按钮转到该页面。

  • location.toString(): 返回一个DOMString,包含整个URL,它和读取location.href的效果相同,但是用它是不能够修改location的值的。

每日一题

https://github.com/WindrunnerMax/EveryDay

参考

https://developer.mozilla.org/zh-CN/docs/Web/API/Location