获得当前页面的地址 (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

四、SVN客户端tortoiseSVN的基本功能介绍

档案浏览器(Repo-browser) 鼠标右键–>tortoiseSVN->版本库浏览器 输入版本库URL地址,进入如菜单界面 版本库浏览器支持SVN及http两种最常用的通信协议 SVN服务器访问方式 方法 模式 访问方法 File:// 直接版本库访问(本地磁盘) http:// 通过配置subversion的WEB服务器的WEBDAV协议 http...

也许是我送你哦 1012

案例分析|一篇文章带你看懂养鸡场智慧管理系统

养鸡场智慧管理系统是为了满足现代化养鸡业对精细化管理的需求而设计的一款专业软件。随着科技的发展和农业产业的升级,传统的手工记录和管理方式已无法满足高效、准确和实时的数据跟踪需求。本软件旨在通过集成各种功能模块,帮助养鸡场主实现从鸡苗孵化、饲养管理、饲料控制到销售结算等全链条的智能化操作。该系统的核心目标是提升养鸡场的运营效率和盈利能力,通过自动化数据处理,减少人工误差,节省时间和精力。例如,孵化报表和记录模块可以帮助管理者实时监控孵化过程,及时调整策略;

muyu2980的专栏 930

利用Selenium爬取淘宝商品

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

周闖的博客 1451

Agent 团队管理手册:如何设定目标、分配角色与解决冲突

本文从Agent团队的底层逻辑出发,完整讲解了Agent团队管理的三大核心模块:目标设定(分层拆解+对齐校验)、角色分配(能力匹配+最优算法)、冲突处理(分类处理+仲裁投票),并提供了可直接运行的完整代码示例。通过本文的方法,你可以快速搭建一个高效协作的Agent团队,大幅提升复杂任务的完成效率和准确率。Agent团队是未来AI应用的核心形态,现在正是落地的黄金期,建议你从一个小场景开始动手实践,逐步优化自己的Agent团队管理方法论。

AI天才研究院 234

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

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

JamesNo1的博客 1922

【数据集5】土地利用类型数量预测数据LUH2

简介土地利用类型数量预测数据LUH2

WW、forever的博客 4548

基于PyTorch+Transformer实现谣言检测系统

本项目使用基于`PyTorch+Transformer`的谣言检测模型,将文本中的谣言事件进行连续向量化,通过一维卷积神经网络的学习训练来挖掘表示文本深层的特征,避免了特征构建的问题,并能发现那些不容易被人发现的特征,从而产生更好的效果。

优快云 精品推荐 6351

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

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

weixin_33725126的博客 308

特征选择/筛选方法总结

作者:jliang https://blog.youkuaiyun.com/jliang3 1.特征选择介绍 1)特征分类 相关特征:对于学习任务(例如分类问题)有帮助,可以提升学习算法的效果; 无关特征:对于我们的算法没有任何帮助,不会给算法的效果带来任何提升; 冗余特征:不会对我们的算法带来新的信息,或者这种特征的信息可以由其他的特征推断出; 2)特征选择的目的 对于一个特定的学习算法...

jliang3的博客 8万+

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

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

gitblog_00346的博客 310

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: 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、付费专栏及课程。

余额充值