JavaScript中location对象使用【详解】

✨前言✨
  本篇文章主要在于,了解并会使用JavaScript中location对象

🍒欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁
🍒博主将持续更新学习记录收获,友友们有任何问题可以在评论区留言



📍文章目录📍

  • 一,Location 对象
  • 二,Location 对象 属性和方法
  • 三,代码示例
    • 属性
    • 方法

一,Location 对象

 Location对象包含有关当前URL的信息。location对象是window对象的一部分,可以通过window.location属性访问。

注意: 没有适用于location对象的公共标准,但所有主流浏览器都支持它。



二,Location 对象 属性和方法

可以在Location对象上使用以下属性:

属性描述
href:获取或设置页面的URL。
protocol:获取页面的URL协议(如http或https)。
hostname:获取页面的主机名(包括域名和端口)。
port:获取页面的端口号。
pathname:获取页面的路径名(不包括参数和查询)。
search:获取页面的查询参数(即URL中"?"后面的部分)。
hash:获取页面的锚点( “#” 后面的部分)。
origin:获取页面的URL的协议、主机名和端口部分。

可以在Location对象上使用以下方法:

方法描述
assign():跳转到指定URL。
reload():重新加载当前页面。
replace():替换当前页面为指定URL。

assign 和 replace不一样 一个可以返回 一个不可.

三,代码示例

属性

首先控制打印看一下

1. location属性

document.write(location);

在这里插入图片描述

location是挂在window的对象也是document下的对象

window.location
document.location
location
// 指的是同一个

Location.href

包含整个URL地址返回

href: "http://127.0.0.1:8848/testshare/location.html?lang=en&name=zhangsan#test/most"

当location.href赋值时会跳转

location.href = 'http://www.baidu.com'   
// 跳转

Location.protoco

包含URL对应协议 http 或者https,最后有一个":"。

 document.write(location.protocol); //--->http:

Location.host

包含了域名,可能在该串最后带有一个":"并跟上URL的端口号。

document.write(location.host); //--->localhost:63342

Location.hostname

包含URL域名

document.write(location.hostname); //--->localhost

Location.port

包含端口号。

document.write(location.port); //--->63342

Location.pathname

包含URL中路径部分,开头有一个“/"。

document.write(location.pathname); 
//--->/item/JavaScript/JSTest/Js_2/Test_1/incidentTest/Locatime%E5%AF%B9%E8%B1%A1%E6%B5%8B%E8%AF%95.html

Location.search

包含URL参数,开头有一个“?”。

document.write(location.search);
//--->?_ijt=5uacmb18298sn0em1ascr0q04q&_ij_reload=RELOAD_ON_SAVE

Location.hash

块标识符,开头有一个“#”。 哈希值 vue-router中的哈希模式就是用这个。

document.write(location.hash); //--->#test/most

Location.origin 只读

包含页面来源的域名,也是从哪个页面跳转来的

document.write(location.origin ); //--->http://localhost:63342	



方法

2. location的方法

Location.reload()

Location.reload() 方法用来刷新当前页面。该方法只有一个参数,当值为 true 时,将强制浏览器从服务器加载页面资源,当值为 false 或者未传参时,浏览器则可能从缓存中读取页面。

location.reload(true);
// 无缓存刷新页面(但页面引用的资源还是可能使用缓存,
// 大多数浏览器可以通过设置在打开开发者工具时禁用缓存实现无缓存需求)

Location.assign()

Location.assign()方法会触发窗口加载并显示指定的URL的内容

document.location.assign('https://www.baidu.com');

Location.replace()

Location.replace() 方法以给定的URL来替换当前的资源。 与assign() 方法 不同的是,调用 replace() 方法后,当前页面不会保存到会话历史中(session History),这样,用户点击回退按钮时,将不会再跳转到该页面。

document.location.replace('https://www.baidu.com');


✨最后✨

总结不易,希望uu们不要吝啬你们的👍哟(^U^)ノ~YO!!
如有问题,欢迎评论区批评指正😁

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/319797.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CNN——AlexNet

1.AlexNet概述 论文原文:ImageNet Classification with Deep Convolutional Neural Networks 在LeNet提出后,卷积神经网络在计算机视觉和机器学习领域中很有名气。但卷积神经网络并没有主导这些领域。这是因为虽然LeNet在小数据集上取得了很好的效果&am…

二叉树链式结构的实现(二叉树的遍历以及各种常用功能函数的实现)

之前也是把堆部分的知识点梳理完毕(即二叉树链式顺序的实现):堆的应用:堆排序和TOP-K问题 那么讲完了二叉树链式结构的实现。今天就进入二叉树链式结构的实现: 文章目录 1.准备工作2.二叉树的遍历2.1前序遍历2.2中序遍…

【C语言】程序练习(四)

大家好,这里是争做图书馆扫地僧的小白。非常感谢各位的支持,也期待着您的关注。 目前博主有着C语言、C、linux以及数据结构的专栏,内容正在逐步的更新。 希望对各位朋友有所帮助同时也期望可以得到各位的支持,有任何问题欢迎私信与…

数学公式编译器MathType下载与安装

下载网址:下载 MathType - WIRIS Store 1.点击【下载MathType for Windows】 2、点击中文版 3.找到所下载的目录: 右击-->以管理员身份运行 4、新建word文档 点击文件->账户->关于word 5.点击【文件】、【选项】,❶点击【加载项】…

Elasticsearch:结合 ELSER 和 BM25 文本查询的相关搜索

Elastic Learned Spare EncodeR (ELSER) 允许你执行语义搜索以获得更相关的搜索结果。 然而,有时,将语义搜索结果与常规关键字搜索结果相结合以获得最佳结果会更有用。 问题是,如何结合文本和语义搜索结果? 首先,让我…

SAP BAPI 客户主数据创建:cmd_ei_api=>maintain_bapi

BAPI函数:cmd_ei_api>maintain_bapi 事物代码:XD01/XD02 客户主数据创建、修改、拓展功能开发 数据结构定义: 基本视图信息 公司代码信息结构: 销售视图信息结构: 客户主数据税分类信息结构: 代码参考 详细代码…

众和策略:高股息板块持续红火,煤炭股会否走上慢牛重估之路?

1月3日,煤炭板块连续此前活跃走势,走出日线三连阳。截至收盘,东方财富煤炭板块全体上涨1.75%。盘面显示,35只煤炭股仅有3只股价跌落,其中,云煤动力(600792.SH)涨停,郑州煤…

Linear Regression 线性回归

深度学习: 数据集模型选择训练(KNN不需要)推理(预测) 假设学生用x小时学习深度学习,能够得要y分数: 那么学习4小时,能够得到多少分? 用已知数据作为训练集&#xff1a…

MySQL8.0主从复制实现及遇到的个人问题

文章目录 1、准备两个服务器或者虚拟机2、主库配置3、从库配置4、配置过程中使用到的命令5、遇到的问题 1、准备两个服务器或者虚拟机 这里使用的VM虚拟机的Centos、MySQL版本是8.0.26、使用FinalShell进行远程操作。 2、主库配置 修改MySQL配置文件(/etc/my.cnf) #启用二进…

ROS学习记录:在ROS中用C++实现激光雷达避障

前言 本文建立在成功获取激光雷达数据的基础上&#xff0c;详细参考 在ROS中用C实现获取激光雷达的数据 一、实现思路 二、在VScode中打开之前编写好的lidar_node.cpp 三、在lidar_node.cpp中写入如下代码 #include <ros/ros.h> #include <std_msgs/String.h> …

thinkadmin安装步骤

一,先cmd运行安装命令 ### 创建项目&#xff08; 需要在英文目录下面执行 &#xff09; composer create-project zoujingli/thinkadmin二,在confing中的database.php配置数据库 三,将仓库的data复制到app目录下 https://gitee.com/zoujingli/think-plugs-data 四,在cmd运…

MySQL 8.0 开关 Redo Logging

一 前言 前几天有客户测试使用云数据库的时候提出 要禁止mydumper 关闭redo log的操作 (说白了就是导入数据时保持MySQL 实例的redo logging功能)&#xff0c; 这才想起 在 MySQL 8.0.21 版本中&#xff0c;开启了一个新特性 “Redo Logging 动态开关”。 在新实例导数据的场…