当前位置:网站首页>BOM系列之Location对象
BOM系列之Location对象
2022-07-29 13:06:00 【老__L】
1、什么是location对象
window 对象给我们提供了一个 location 属性用于获取或设置窗体的 URL,并且可以用于解析 URL 。 因为这个属性返回的是一个对象,所以我们将这个属性也称为 location 对象。
2、URL
统一资源定位符 (Uniform Resource Locator, URL) 是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的 URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
URL 的一般语法格式为:
protocol://host[:port]/path/[?query]#fragment
http://www.itcast.cn/index.html?name=andy&age=18#link

3、属性
3.1、ancestorOrigins
3.1.1、概述
Location 接口的 ancestorOrigins 只读属性是一个静态的 DOMStringList,倒序排列了此Location 对象所属文档先前所有浏览上下文的来源。
3.1.2、语法
const ancestors = location.ancestorOrigins;
3.2、hash
3.2.1、概述
Location 接口的 hash 属性返回一个 USVString,其中会包含 URL 标识中的 ‘#’ 和 后面 URL 片段标识符。
这里 fragment 不会经过百分比编码(URL 编码)。如果 URL 中没有 fragment,该属性会包含一个空字符串,“”
3.2.2、语法
string = object.hash;
object.hash = string;
3.3、host
3.3.1、概述
Location 接口的 host 属性是包含了主机的一段 USVString,其中包含:主机名,如果 URL 的端口号是非空的,还会跟上一个 ‘:’ ,最后是 URL 的端口号。
3.3.2、语法
string = object.host;
object.host = string;
3.4、hostname
3.4.1、概述
Location的 hostname 属性是包含了域名的一段 USVString。
3.4.2、语法
string = object.hostname;
object.hostname = string;
3.5、href
3.5.1、概述
Location 接口的 href 属性是一个字符串化转换器 (stringifier), 返回一个包含了完整 URL 的 USVString 值,且允许 href 的更新。
3.5.2、语法
string = object.href;
object.href = string;
3.6、origin
3.6.1、概述
Location接口的origin只读属性是一个字符串,其中包含所表示URL的原点的Unicode序列化。
3.6.2、值
一个字符串
3.7、pathname
3.7.1、概述
Location接口的pathname属性是一个包含该位置的URL路径的字符串,如果没有路径,则为空字符串。
3.7.2、值
一个字符串
3.8、port
3.8.1、概述
Location接口的port属性是一个包含URL的端口号的字符串。如果URL不包含显式的端口号,它将被设置为‘’。
3.8.2、值
一个字符串
3.9、protocol
3.9.1、概述
Location接口的protocol属性是一个表示URL的协议方案的字符串,包括最后的’:'。
3.9.2、值
一个字符串
3.10、search
3.10.1、概述
Location 接口的 search 属性会返回一段 USVString,其中包含一个 URL 标识中的 ‘?’ 以及跟随其后的一串 URL 查询参数。
现代浏览器提供 URLSearchParams 和 URL.searchParams 两个接口,使得从查询字符串中解析出查询参数变得更加容易。
3.10.2、语法
string = object.search;
object.search = string;
4、方法
4.1、assign()
4.1.1、概述
Location.assign() 方法会触发窗口加载并显示指定的 URL 的内容。
如果由于安全原因无法执行跳转,那么会抛出一个 SECURITY_ERROR 类型的 DOMException。当调用此方法的脚本来源和页面的 Location 对象中定义的来源隶属于不同域的时候,就会抛出上述错误。
如果传入了一个无效的 URL,则会抛出一个 SYNTAX_ERROR 类型的 DOMException。
4.1.2、语法
location.assign(url);
4.1.3、参数
- url
一个包含了要跳转到的链接的DOMString。
4.1.4、示例
// 跳转到 Location.reload() 这篇文章
document.location.assign("https://developer.mozilla.org/zh-CN/docs/Web/API/Location/reload");
4.2、reload()
4.2.1、概述
location.reload() 方法用来刷新当前页面,就像刷新按钮一样。
该方法在跨域调用(执行该方法的脚本文件的域和 Location 对象所在页面的域不同)时,将会抛出 SECURITY_ERROR DOMException 异常。
4.2.2、语法
location.reload();
4.3、replace()
4.3.1、概述
Location.replace() 方法以给定的 URL 来替换当前的资源。 与assign() 方法 不同的是,调用 replace() 方法后,当前页面不会保存到会话历史中(session History),这样,用户点击回退按钮时,将不会再跳转到该页面。
因违反安全规则导致的赋值失败,浏览器将会抛出类型为 SECURITY_ERROR 的 DOMException 异常。当调用该方法的脚本所属的源与拥有 Location 对象所属源不同时,通常情况会发生这种异常,此时通常该脚本是存在不同的域下。
如果 URL 无效,浏览器也会抛出 SYNTAX_ERROR 类型的 DOMException 异常。
4.3.2、语法
object.replace(url);
4.3.3、参数
- url
DOMString 类型,指定所导航到的页面的 URL 地址。
4.3.4、示例
// Navigate to the Location.reload article by replacing this page
window.location.replace("https://developer.mozilla.org/en-US/docs/Web/API/Location/reload");
4.4、toString()
4.4.1、概述
toString()Location接口的 stringifier 方法返回包含整个 URL 的USVString}。它是Location.href的只读版本。
4.4.2、语法
string = object.toString();
4.4.3、示例
// Let's imagine an <a id="myAnchor" href="https://developer.mozilla.org/en-US/docs/Location/toString"> element is in the document
var anchor = document.getElementById("myAnchor");
var result = anchor.toString(); // Returns: 'https://developer.mozilla.org/en-US/docs/Location/toString'
后记
如果你感觉文章不咋地
//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果你觉得该文章有一点点用处,可以给作者点个赞;\\*^o^*//
如果你想要和作者一起进步,可以微信扫描二维码,关注前端老L;~~~///(^v^)\\\~~~
谢谢各位读者们啦(^_^)∠※!!!

边栏推荐
- app小程序开发的营销优势有什么?
- [Mysql] LENGTH函数
- DVWA全级别通关教程
- Error EPERM operation not permitted, mkdir ‘Dsoftwarenodejsnode_cache_cacach两种解决办法
- Framework common annotation explanation
- 用支持LaTex的Markdown语句编辑一个数学公式
- JUC阻塞队列-ArrayBlockingQueue
- The whole process of installing Oracle database on CentOS7
- 【kaggle】Spaceship Titanic - 预测哪些乘客被运送到另一个维度【CatBoost - 10%】
- 人脸合成效果媲美StyleGAN,而它是个自编码器
猜你喜欢

Sentinel 2A data preprocessing and calculation of six common vegetation indices in snap software
![[Numpy] np.select](/img/d6/5dfa767ad24dab3f7289d861011d00.jpg)
[Numpy] np.select

每日优鲜解散疑云:生鲜电商们苦渡生死劫

The most classic special effects scenes in 25 years

第二十一周作业

A recent paper summarizes

Linux下 mysql5.7的彻底卸载

MySQL 安装报错的解决方法

snap软件中哨兵2A数据预处理及六种常用植被指数的计算

Bika LIMS 开源LIMS集—— SENAITE的使用(分析/测试、方法)
随机推荐
IJCAI 2022 outstanding papers published, China won two draft in 298 the first author
线上支付,出款和收款
hash table 实现代码
MySQL 视图(详解)
一口气说出4种主流数据库ID自增长,面试官懵了
关闭线程池 shutdown 和 shutdownNow 的区别
38.【string下章】
【LeetCode】Day106-单词规律
每日优鲜解散疑云:生鲜电商们苦渡生死劫
IDEA2021.2安装与配置(持续更新)
【MySQL视图】视图的概念、创建、查看、删除和修改
leetcode134. 加油站
The torch using summary
轻松学Pytorch-Pytorch可视化
25年来最经典的电影特效名场面
【云原生】开源数据分析 SPL 轻松应对 T+0
何享健“A拆A”又败一局,美的旗下美智光电终止创业板IPO
Mysql stored procedures, rounding
抓住这几个关键点,做薪酬数据分析并不难
HCIP第十三天笔记(BGP的路由过滤、BGP的社团属性、MPLS)