访问与重定向 - location 对象

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的查询部分,包括?号。
【注意】截取内容不包含锚点信息(解释:比如http://example.com:1234/test.html?user=zfs&hobby=travel#part2后面的#part2就是锚点信息)

// set
location.href = URL
// get
console.log(window.location.search) // '?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路径部分

// 完整url是 http://example.com:1234/index.html?user=zfs&hobby=travel#part2
// 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
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在Python中处理重定向可以通过使用requests库来实现。你可以使用该库发送HTTP请求并处理重定向。 在引用的代码示例中,当我们设置allow_redirects参数为False时,我们禁止了重定向。这意味着当我们发送请求时,如果遇到重定向,我们将不能自动获取重定向后的URL。相反,我们将收到一个状态码,指示重定向已经发生。 在引用的代码示例中,我们使用了requests库来发送一个GET请求。我们通过将allow_redirects参数设置为False来禁止重定向。然后,我们可以通过检查响应的状态码来确定是否发生了重定向。在这种情况下,状态码为302,表明发生了重定向。我们还可以通过访问响应头中的"Location"字段来获取重定向后的URL。 总结起来,可以使用以下步骤在Python中处理重定向: 1. 导入requests库 2. 创建一个会话对象 3. 设置请求头 4. 发送GET请求,并将allow_redirects参数设置为False 5. 检查响应的状态码是否为302,以判断是否发生了重定向 6. 如果发生了重定向,可以通过访问响应头中的"Location"字段来获取重定向后的URL 请注意,重定向在使用中并不常见,并且可能被视为不正当行为。搜索引擎可能会对重定向进行惩罚,并将其定义为不合法的网站。因此,在使用重定向时,请务必要谨慎并确保遵守相关规则和准则。 - https://zh.wikipedia.org/wiki/HTTP%E9%87%8D%E5%AE%9A%E5%90%91 - https://blog.csdn.net/sinat_33741547/article/details/103225426 [3] - https://www.cnblogs.com/xiugeng/p/12258099.html

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java全栈研发大联盟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值