美文网首页Web前端之路前端进阶之路
访问与重定向 - location 对象

访问与重定向 - location 对象

作者: 果汁凉茶丶 | 来源:发表于2019-07-30 12:49 被阅读11次

location接口包含着当前URL上的信息,DocumentWindow 接口都有这样一个链接的Location,分别通过 Document.locationWindow.location 访问

  为了方便本文的描述,假定现有URL:
http://example.com:1234/test.html?user=zfs&hobby=travel#part2

# location对象属性

- location.href

href是一个可读可写的字符串。可以通过其设置新的链接地址,也可获取现URL上的信息。

console.log(window.location.href)
// http://example.com:1234/test.html?user=zfs&hobby=travel#part2

- location.search

search是一个可读可写的属性,读取时返回的是当前URL的查询部分,包括?号。
注意】截取内容不包含锚点信息

// set
location.href = URL
// get
console.log(window.location.href) // '?user=zfs&hobby=travel'

- location.hash

hash是一个可读可写的字符串,读取时返回的是 URL 的锚部分,包括#
注意】对于当前流行的Vue项目,如果使用的hash路由,那么参数(search)部分也将被当做hash来看待

// set
location.hash=anchorname
// get
console.log(location.hash) // '#part2'

vue中的hash路由模式,假设url:
https://example:1234/index.html#/personal?user=zfs&hobby=traval

console.log(window.location.hash) // '#/personal?user=zfs&hobby=traval'

- location.host

host是个可读可写的属性,可设置或返回当前URL的主机名称和端口号

// set
location.host = host
// get
console.log(location.host)  //  'example.com:1234'

- location.hostname

hostname是个可读可写的属性,可设置或返回当前URL的主机名称

// set
location.hostname = hostname
// get
console.log(location.hostname) // 'example.com'

- location.port

  可读可写,设置或返回当前主机服务端口

// set
location.port = portnumber
// get
console.log(location.port) // '1234'

- location.pathname

  可读可写,设置或返回当前URL路径部分

// set 
location.pathname = path
// get
console.log(location.pathname)  //  '/index.html'

- location.protocol

  可读可写,设置或返回当前URL中的协议

// set
location.protocol = path
// get
console.log(location.protocol)  // http:

# location 对象方法

- assign()

  assign()可以载入一个新的文档页面

window.location.assign("http://example.com")

- reload()

  重新载入当前文档页面。该方法可以接受一个可选的Boolean类型参数。

  当为false时,它就会用 HTTP 头 If-Modified-Since 来检测服务器上的文档是否已改变。如果已改变,则再次下载,否则将从缓存中装载该文档。
  当为true时,那么无论文档的最后修改日期是什么,它都会绕过缓存,从服务器上重新下载该文档。

window.location.reload(true)

- replace()

  用一个新文档取代当前文档,并且不会在History对象中生成一条新的记录,将用新的URL覆盖当前URL

window.location.replace("http://example.com")

# 完整案例

var url = document.createElement('a');
url.href = 'https://developer.mozilla.org/en-US/search?q=URL#search-results';
console.log(url.href);      // https://developer.mozilla.org/en-US/search?q=URL#search-results
console.log(url.protocol);  // https:
console.log(url.host);      // developer.mozilla.org
console.log(url.hostname);  // developer.mozilla.org
console.log(url.port);      // (blank - https assumes port 443)
console.log(url.pathname);  // /en-US/search
console.log(url.search);    // ?q=URL
console.log(url.hash);      // #search-results-close-container
console.log(url.origin);    // https://developer.mozilla.org

相关文章

  • 访问与重定向 - location 对象

      location接口包含着当前URL上的信息,Document 和 Window 接口都有这样一个链接的Loc...

  • BOM

    BOM(浏览器对象模型),BOM提供了很多对象,用于访问浏览器的功能. location location提供了与...

  • http的302和304

    302重定向 浏览器访问服务器,服务器返回带着location,浏览器直接访问location指定的链接。 304...

  • 重定向和转发 乱码处理

    1、重定向为外部跳(不能访问内部资源),转发为内部跳 2、重定向的request对象被销毁 3、重定向的访问路径会...

  • JavaScript Windows对象(二)

    Windows子对象-History、Location、screen 一、history对象 包含浏览器访问过...

  • JavaScript常见问题

    location对象使用 网页重定向 获取项目的根url Cookies基本用法 存基本数据,kiddvar na...

  • JavaScript基础 window.location

    window.location对象 用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。返回的是对象 ...

  • Nginx location指令和rewrite指令,root和

    1,location指令 1)用在虚拟服务器server部分,提供来自客户端URI或者内部重定向访问。当一个请求匹...

  • JavaScript Window Location

    window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。 Window...

  • 后端必须掌握的浏览器API技能

    location 浏览器地址操作对象 路由重定向至新的URL 刷新当前页面 如果把 reload(true) 方法...

网友评论

    本文标题:访问与重定向 - location 对象

    本文链接:https://www.haomeiwen.com/subject/itdgrctx.html