获得当前页面的地址 (URL)信息、跳页及刷新等(解析链接参数)

如何使用JavaScript获取当前URL? 在现代开发中,我们经常需要获取当前网页的URL来完成各种操作,例如页面重定向、参数解析等。在URL的处理上,JavaScript提供了一系列强大且便捷的工具。这篇文章将详细讲解如何使用JavaScript获取当前页面的URL,并分解URL的各个组成部分。 阅读详情
AI摘要

文章介绍了在前端开发中如何使用原生JavaScript获取URL链接信息,包括`window.location`的各种属性,以及解析和跳转方法。此外,文章还详细讲解了在Vue环境下,利用vue-router获取链接参数、实现页面跳转和刷新的操作。


前言

在前端开发中不可避免使用链接的参数等信息,那么咱就一起记录下各种获取的方法


一、原生获取

获取各种链接信息

window.location 对象获得当前页面的地址 (URL)
使用以下方式,获取 https://editor.youkuaiyun.com/md?not_checkout=1&articleId=131126631对应值

  • location.href 当前页面访问路径,返回 “https://editor.youkuaiyun.com/md?not_checkout=1&articleId=131126631”
  • location.hostname web 主机的域名,返回"editor.youkuaiyun.com"
  • location.pathname 当前页面的路径和文件名,返回"/md/"
  • location.port web 主机的端口 (80 或 443),返回
    “”
  • location.protocol 所使用的 web 协议(http: 或 https:),返回
    “https:”
  • location.search 路径查询参数,返回"?not_checkout=1&articleId=131126631"
  • location.hash 当前位置的哈希。如果存在,则以“#”开头。

最常使用的是获取当前连接参数数据,可是原生并没有解析完对应的值,需要咱自个手动解析链接参数对对象

/**
 * 获取链接参数为对象
 */
fun = (url) => {
    const search = url.split('?')[1]
    const searchArr = search.split('&')
    let params = {}
    searchArr.forEach((item) => {
        const param = item.split('=')
        params[param[0]] = param[1]
    })
    console.log(params)
    return params
}
fun(location.href);

在这里插入图片描述

链接跳页

直接替换 location.href 的值即可
例如 跳页 baidu.com,直接 location.href = 'https://baidu.com' 即可。注意如果值跳页不同协议链接,需要带上web协议;同个协议内链接调整可直接替换为页面路径即可

正常开发经常遇到对象值需要转换为链接参数然后再进行跳页,例如把以下对象做为链接参数传值

const params = {
	"articleId": "131126631",
	"not_checkout": "1"
}
getParamsString = (params) => {
	let urlSearch = ''
	let connector = '?'
	for(const x in params) {
	    urlSearch += `${connector}${x}=${params[x]}`
	    connector = '&'
	}
    return urlSearch
}
console.log(getParamsString(params)) // ?articleId=131126631&not_checkout=1

页面刷新

执行 location.reload() 即可

二、Vue 获取

获取链接参数

1、使用 vue-router 获取(Vue3),这种取值需要在 setup 或对应生命周期内执行才有效,否则会出现 undefined

import { defineComponent } from 'vue'
import { useRoute } from "vue-router"
export default defineComponent({
  setup() {
  	const route = useRoute()
  	console.log(route)
  	return {}
  }

在这里插入图片描述
包含以下信息:

  • fullPath 链接路径名加上参数部分,即原生location.pathname + location.search
  • hash 当前位置的哈希。如果存在,则以“#”开头。同 location.hash
  • matched 包含组件的{@link 路由记录}数组,还包含重定向记录和对应的子路由等信息
  • meta 简单来说就是路由元信息,也就是每个路由身上携带的信息。
  • name 路由配置的名称
  • params 路由配置参数,例如 { path:‘/user/:id’, name:“users”, …} 中的 id
  • path 链接路径名,同 location.pathname
  • query 链接参数,对象格式
  • redirectedFrom 重定向来源信息

2、如果是在setup之外(vue2、vue3均可获取),例如hooks内需要获取则可使用获取路由配置文件来获取

import Vrouter from "@/router"
Vrouter.currentRoute.value.query // vue3
Vrouter.currentRoute.query // vue2

根据下图可看多,比上面的多了个 href 字段,同 fullPath
在这里插入图片描述

3、使用 this.$route 获取(vue2、3均可使用,如果是3需要在存在this的生命周期内使用),如图显示

  ...
  created() {
    console.log('this.$route', this.$route)
  },
  ...

在这里插入图片描述

跳页操作

1、使用 this.$router.push() 获取(vue2、3均可使用,如果是3需要在存在this的生命周期内使用)

  • 根据路由路径跳页
this.$router.push(path, query) // path:路由路径,query:参数信息
  • 根据路由名称跳页,可结合路由配置赋值对应的params连接参数
this.$router.push(name, params) // name:路由名称,params:参数信息(需要结合路由配置)
this.$router.push('Register', { id: '123456'})

// 路由配置如下:
{
    path: '/register/:id',
    name: 'Register',
    component: () => import('@/views/home/register/index'),
},

2、使用导入 vue-router 跳页(Vue3可用),同 useRoute 需要在 setup 或对应生命周期内执行才有效,否则会出现 undefined。传值方式同第一点,可选路径名称或者路径地址跳页(常用方式)

import { defineComponent } from 'vue'

import { useRouter, type LocationQueryRaw } from "vue-router"
/**
 * 
 * @param path 路由地址
 * @param query 参数信息
 */
const goTo = (path: string, query: LocationQueryRaw = {}) => {
  const router = useRouter()
  router.push({
    path, query: query
  })
}
export default defineComponent({
  created() {
    goTo('/')
  },
  setup() {
  	// goTo('/')
  }
})
vue获取当前页面url网址信息 在WEB开发中,时常会用到javascript来获取当前页面的url网址信息,在这里是我的一些获取url信息的小总结。下面我们举例一个URL,然后获得它的各个组成部分:http://i.cnblogs.com/EditPosts.aspx?opt=1//返回url 的主机部分,例如:www.xxx.com window . location . hostname;//返回www.xxx.com window . location . href; 阅读详情

相关推荐

延迟深度链接实践:用AppsFlyer实现首次启动精准落地页

在移动增长领域,深度链接是连接推广渠道与站内页面的关键桥段。当用户点击链接时,若App已安装,系统可立即将链接参数传递给应用;但若用户需要先下载安装,则点击与首次启动之间形成了一段真空期,普通深度链接无法生效。延迟深度链接通过归因服务器记录点击事件,在App首次启动时查询并回传参数,从而精准还原用户原始意图。这一机制广泛应用于电商商品分享、活动拉新、邀请奖励等场景,直接影响安装后首屏展示与转化路径。基于AppsFlyer SDK,从OneLink配置、Android/iOS初始化,到回调监听、路由跳转与幂等

weixin_34318326的博客 788

常用获取url地址的几种方法

1、设置或获取整个 URL 为字符串 window.location.href 2、设置或获取 URL 的协议部分 window.location.protocol 3、设置或获取 URL 的主机部分 window.location.host 4、设置或获取与 URL 关联的端口号码 window.location.port 5、设置或获取与 URL 的路径部分(就是文件地址) window.location.pathname 6、设置或获取 href 属性中跟在问号后面的部分 window.locatio

weixin_45821809的博客 4万+

Express中JWT安全实现:从签名验证到加密与刷新机制

JWT(JSON Web Token)作为一种开放标准,已成为现代Web应用API认证的主流方案。其核心机制基于数字签名,通过编码Header、Payload并计算Signature来验证令牌的完整性和来源,防止篡改与伪造。然而,标准JWT签名仅解决完整性问题,Payload内容仅经Base64编码,并不加密,存在信息泄露风险。因此,在数据隐私要求高的场景下,需采用JWE(JSON Web Encryption)或先加密后签名等技术对令牌内容进行加密处理。在工程实践中,结合Express框架,需系统性地处理

weixin_30328063的博客 425

如何用js得到当前页面的url信息方法(JS获取当前网址信息)

1,设置或获取对象指定的文件名或路径。 alert(window.location.pathname) 2,设置或获取整个 URL 为字符串。 alert(window.location.href); 3,设置或获取与 URL 关联的端口号码。 alert(window.location.port) 4,设置或获取 URL 的协议部分。 alert(window.location.protocol...

任磊 775

腾讯广告Web转化数据API自归因实战:从配置到联调全解析

本文详细解析了腾讯广告Web转化数据API自归因的完整实战流程,从核心原理、角色分工到监测链接配置、后端回调开发、落地页集成及转化上报等关键步骤。重点阐述了如何通过自归因机制解决广告转化数据黑洞问题,确保数据准确,并提供了联调试错指南,帮助开发与运营团队高效完成对接,实现精准的广告效果衡量。

weixin_28622215的博客 800

如何获取 URL 地址 - 编程指南

在编程中,我们经常需要获取和处理 URL 地址。无论是从用户输入中获取URL,还是从网络请求中获取URL,本文将为您提供一些常见的方法和示例代码来获取URL地址。这些是获取URL地址的一些常见方法和示例代码。希望本文能帮助您在编程中获取和处理URL地址。在进行网络编程时,我们通常需要从网络请求中获取URL地址。对于基于Web的应用程序,有时我们需要获取当前页面的URL地址。函数获取用户输入的URL地址,并将其存储在变量。获取当前页面的URL地址,并将其返回给用户。属性获取URL地址,并将其打印出来。

ByteJolt的博客 2510

我的一些常用方法 手机号校验 uniapp键值去除引号 判断url携带的参数

【代码】我的一些常用方法 手机号校验 uniapp键值去除引号 判断url携带的参数。

FANSILVLV的博客 695

jsoup分页爬取实战:抗反爬、防跳页、容结构漂移的稳定方案

网页分页爬取是Web数据采集的基础技术,其核心在于动态识别下一页链接、应对HTML结构变化、处理空页与跳转异常。传统for循环硬编码页码极易因反爬策略、URL路由变更或模板更新而失效。本文基于jsoup构建可配置状态机式分页引擎,融合页码自动探测、选择器多级fallback、URL归一化与空页熔断机制,显著提升新闻列表、商品目录等结构化页面的抓取鲁棒性。适用于Java生态下需长期稳定运行的生产级爬虫系统。

weixin_34094282的博客 436

Flutter 三方库 route_parser 的鸿蒙化适配指南 - 精准的路径匹配算法,打造智能化的鸿蒙深层链接体验

在现代化的移动应用架构中,路由管理早已超越了简单的页面跳转。特别是在鸿蒙(OpenHarmony)系统强化的深层链接(Deep Link)和元服务(Atomic Service)场景下,如何将复杂的 URL 路径精准、高效地解析并映射到具体的业务模块,是衡量一个应用架构成熟度的关键。是一个轻量级且功能强大的路由路径匹配库。它避开了繁重的路由框架,专注于核心的路径解析逻辑。本文将带你探索如何将其用于鸿蒙端路由逻辑的深度优化。采用了标准的正则表达式生成逻辑,将包含动态参数(如:id。

cannonjinx的博客 1010

Python脚本实现Blackboard课程资料自动化批量下载

自动化批量下载是网络爬虫与文件管理结合的典型应用场景,其核心原理是复用HTTP会话保持登录状态,通过解析目标站点的资源链接结构,将远端文件按规则映射到本地目录。实践中,requests.Session能够持久化Cookie与认证信息,避免多次请求被重定向回登录页;而面对Blackboard这类学习管理系统,课程附件多以WebDAV直链或资源分发跳页的形式存在,需要额外处理中间页误存为HTML的问题。该技术思路的价值在于大幅节省人工逐页保存的时间,尤其适合学期末多门课程课件的归档备份,以及助教或管理员定期同步

weixin_33417488的博客 253

PPT课件倒计时插件:动画、VBA与HTML嵌入式实现全解析

课堂限时练习、小组讨论等场景中,倒计时是高频工具。传统PPT动画倒计时绑定页面时间轴,翻页即重置,无法真正嵌入课件流程。VBA宏通过Application.OnTime在PPT进程内驱动计时,可跨页跟随并触发跳页,实现最深度的嵌入,但受限于Windows环境和宏安全设置。HTML倒计时则以独立网页形式运行,以vw单位自适应大屏,用setInterval稳定计时,并通过浏览器控件或外部链接嵌入PPT,兼具跨平台与易分发优势。理解动画、VBA、HTML三种路线的原理与边界,能帮助教师按需选型:单页展示用动画,跨

weixin_28025327的博客 226

鸿蒙深链接实战:DeepLink与AppLink配置解析与避坑

深链接是移动应用实现跨应用跳转的核心技术,通过自定义scheme或标准HTTPS链接将用户直接带到指定页面。在鸿蒙生态中,DeepLink与AppLink分别对应灵活的内部直达和基于域名的标准入口,其底层依赖UIAbility生命周期与want参数分发机制。正确掌握深链接的配置与解析,能有效提升分享、广告投放等场景的转化率,避免用户落入浏览器中间页。围绕module.json5声明、冷热启动差异、参数编码与路由栈管理等工程实践,系统梳理了从链接配置到页面跳转的完整链路,为开发者提供了一套可落地的深链接集成方

weixin_32288959的博客 229

MGBD工具实战:预览页图像抓取与PDF合成全解析

在数据处理领域,图像抓取与PDF合成是常见需求,涉及分页图像枚举、并发请求控制与图像拼接等基础技术。其原理是通过模拟翻页请求,按序下载分块图像,再统一尺寸合成PDF。技术价值在于将在线预览内容转化为可离线阅读的格式,提升资料整理效率。应用场景包括内部培训材料制作、离线阅读包构建等。本文以Melon Google Books Downloader为例,深入探讨预览页图像抓取与PDF合成的参数配置、避坑经验及校验清单,帮助读者掌握分页图像处理的核心技巧。

weixin_32238157的博客 212

性能优化(1)-DNS预解析

DNS预解析原理如何使用打开和关闭DNS预解析自动解析手动添加解析在浏览器中设置看看淘宝的DNS预解析使用场景如何更好的使用?对哪些资源做手动prefetch域名发散和域名收敛域名发散域名收敛 当用户输入URL后 第一步就是DNS预解析 原理 域名系统 - 维基百科,自由的百科全书 Domain Name System 是将域名和IP地址相互映射的一个分布式数据库 DNS 预读取是一项使浏览器主动去执行域名解析的功能,其范围包括文档的所有链接,无论是图片的,CSS 的,还是 JavaScript 等其他用

weixin_42370640的博客 1502

从模型车到真实路口:基于YOLOv5-Lite与SORT的轻量化车流量检测系统实战

本文详细阐述了如何将基于YOLOv5-Lite与SORT的轻量化车流量检测系统从毕业设计原型部署到真实路口。文章聚焦于解决在嵌入式平台(如树莓派)上实现实时、稳定检测的工程挑战,涵盖数据采集、模型微调、系统集成及动态信号灯策略,为智能交通灯系统提供了实用的轻量化解决方案。

weixin_29179311的博客 126

西门子WinCC VBS脚本实战:5分钟搞定变量记录导出到Excel(附完整代码)

本文提供了一套高效的西门子WinCC VBS脚本方案,帮助工程师在5分钟内将变量记录数据导出至Excel。方案详细解析了时区转换、数据库连接、SQL查询优化等核心难点,并附带了完整、可直接使用的VBS代码,解决了工业自动化项目中数据导出的实际痛点。

moss5的博客 609

利用Selenium爬取淘宝商品

淘宝页面数据是采用Ajax获取的,但是这些Ajax接口参数比较复杂,可能会加入加密秘钥。对于这种页面,最方便的方法是通过selenium。可以用Selenium来模拟浏览器操作,抓取淘宝商品信息。 1.目标 利用selenium抓取淘宝商品并用pyquery解析得到商品的图片、名称、价格、购买人数、商品图片、店铺所在地等信息,并将其保存到MongoDB数据库中。 2、准备工作 配置好Chro...

周闖的博客 1451

DeepSeek-V4 本地部署实战指南:4套方案从入门到企业级(附RTX 5090实测数据)

V4-Flash 便宜是便宜,输入 1 元/M token,输出 2 元/M token,但量大了还是肉疼。V4-Pro 更离谱,输入 12 元/M token,输出 24 元/M token,这价格要是天天调用,月账单轻松破万。用 4-bit 量化跑 V4-Flash,显存占用 ~22GB,延迟 ~80ms/token,并发能到 2-3 路。换句话说,同样的硬件,能跑更长的上下文、更大的并发。Flash 是「小而美」,一张 RTX 4090/5090 就能跑,门槛低,效果够用。

datayx的文章 9861

基于UIWebview加载html代码 并获取标签

最近项目由于工期紧张需要有pc端设计两个界面,移动端加载界面。(本来是用JS做交互 但是公司觉得麻烦,所以直接让我用UIWebView加载)。  需求:加载html界面 但是需要跳转界面,和用原生写的一样。  分析:当用UIWebView加载网页时,当点击链接时,捕获链接 然后 再根据链接实行跳转。  开始录入代码:  1、创建UIWebViiew:  //创建  UIWebVie

JamesNo1的博客 1922

赴美参加学术会议办理流程

有幸能在研究生阶段获得学校资助出国参加学术会议,首先要感谢学校的支持,以及学院和实验室的各位老师~ 接下来说下参会整个准备过程: 本人在接到论文录用通知后,就开始办理相关手续。因为会议地点是美国夏威夷,而且录用通知时间与会议召开时间只隔两个月左右,所以接下来两个月时间要办好学校出国申请手续,赴美签证,因为专业原因,据说签证不好办,所以时间比较紧。学校出国申请和签证相关材料是并行进行的,赴美花费...

xingxin_xu的博客 3195

1、Ovirt 开源虚拟化平台安装

Ovirt虚拟化Node和Engine安装

大鱼 6266

Python爬虫入门:Requests与BeautifulSoup实战百度图片批量下载

网络爬虫是一种自动化程序,其核心原理是模拟浏览器行为,通过HTTP协议与服务器交互,获取并解析网页数据。这项技术的数据采集价值在于能高效、大规模地获取公开网络信息,广泛应用于搜索引擎索引、市场数据分析、舆情监控和学术研究等场景。在Python生态中,Requests库以其简洁的API成为发送HTTP请求的首选工具,而BeautifulSoup库则提供了强大的HTML/XML解析能力,能将复杂的文档转换为树形结构,便于数据提取。本文以静态网页抓取为切入点,通过构建一个百度图片批量下载器的完整案例,详细演示了如

weixin_33725126的博客 308

WorkBuddy CAD 审图救命课:约束、单位、尺寸链一次查清,打样前拦住返工

最危险的 CAD 文件不是打不开,而是看起来完整却混用了毫米与英寸、草图欠约束、关键尺寸没有来源。审图任务必须先列规则,再输出问题位置。 本课不会用“AI 一键完成”制造错觉,而是把 WorkBuddy、FreeCAD 0.21.2、OpenCascade 7.7 与人工审阅组成一条可复现链路。你会从“一份模拟 STEP 文件、参数表、装配基准与审图标准”出发,得到“单位报告、约束清单、尺寸链风险表与人工复核标记”,并学会用真实命令、错误信号和停止条件判断成果能不能进入下一阶段。

yueyeguzhuo的专栏 266

Readest 参考页码(reference progress style)实现解析:物理书页码在 EPUB/PDF 阅读器中的落地与同步实战

本文围绕 Readest 阅读器中的 `progressStyle: 'reference'` 这一进度样式展开,讲解它如何让底部进度栏直接显示"物理书页码"(即纸质版印刷页码,而非电子书重排后的屏幕页码)。你将理解 foliate-js 如何解析 EPUB 页表(page-list)与 NCX pageList、Readest 侧 `getReferencePageInfo` 的总页数判定算法、

gitblog_00346的博客 310

栅极驱动电路设计(一)

SiC驱动电路设计需满足更高标准,重点包括:驱动电压需18~20V开通、-3~-5V关断;栅极电阻优选5~10Ω以平衡开关性能与可靠性;必须集成欠压保护(阈值11~15V)和快速短路保护。多电平驱动控制通过动态调节栅压和驱动强度优化性能,如前期弱驱动抑制振荡,后期强驱动降低损耗。以NCE120ED65VTP4为例,栅压从18V提升至20V可使导通损耗降低15%。相比传统方案,有源驱动(含数字分段和模拟闭环控制)能更灵活地提升开关速度与效率。

嵌入式老牛的博客 451

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

上一篇: JavaScript数组的常用方法
下一篇: Vite+TS+Vue开启eslint和prettier规范及校验
失眠时间
博客等级 码龄7年 9134粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值