当前位置: 首页 > news >正文

vue/react/js 常用的原生获取当前页面的url网址的相关方法

目录

第一章 场景

第二章 总结


第一章 场景

最近实现需求时遇到这么一种情况:

  • 本地url ——

  • 线上url —— 

  • 需求:需要将token清除掉 
  • 注意事项:token不是#/后面的参数,说明并不是我们前端返回的,vue路由的方法使用不了
  • 首次解决的方法:
window.location.href = '/'
  •  发现问题:使用该方法本地解决了测试也没问题,但是上线出现了问题,可以发现线上的url事件上是.com下面还有一个路径,这是这个网址下面有不同的文件夹从而造成的,但是我们使用的方法window.location.href = '/'是调整到根路径.com/下,从而造成问题没有真正的解决。
  • 最终解决思路:通过思考得到方案——获取路径的信息,然后通过'?'分割截取前面一部分,然后再跳转这个接口即可。
window.location.href = window.location.href.split('?')[0]
  • 反思:小编最开始以为 window.location.href 方法只是单纯的赋值跳转而已,没想到这个方法也是可以获取当前页面的url路径;对他们没有充分理解。经过学习,小编总结了下面这些原生的实际场景中会用到的方法

第二章 总结


 http://192.168.124.131:8089/?token=b9b....6ae03193f3c7#/test?a=123&b=321
 为例(都是针对history模式的方法):

  • window.location.href (当前url)
console.log(window.location.href)

注意:可以利用 window.location.href 赋值跳转到新的对应的页面

扩展:window.open(url, name, parameters)也可以用于打开一个新的浏览器窗口或在一个已存在的窗口中加载URL,其中常用的name参数有以下配置项:

  1. _self:在当前窗口加载URL(默认行为)。
  2. _parent:在父框架或父窗口中加载URL。
  3. _top:在整个浏览器窗口或标签页中加载URL,取消所有框架。
  4. _blank:在新窗口或新标签页中加载URL。
  • window.location.protocol (协议)

console.log(window.location.protocol)

  • window.location.host(域名+端口号)
console.log(window.location.host)

 

  • window.location.hostname (域名)
console.log(window.location.hostname)

 

  • window.location.port (端口号)
console.log(window.location.port )

 

  • window.location.pathname(路由路径)
console.log(window.location.pathname)

 

注意:小编这里的路径是hash模式的所以输出为 /  ;如果是history模式择输出 /test

  • window.location.search (请求的参数)
console.log(window.location.search)

 

  • window.location.origin (根路径)
console.log(window.location.origin)

http://www.lryc.cn/news/372053.html

相关文章:

  • java-final 关键字
  • ARM32开发--IIC软实现
  • 在有向无环图(DAG)中实现拓扑排序与最短路径和最长路径算法
  • SQLServer按照年龄段进行分组查询数据
  • 开放式耳机哪个品牌质量比较好?2024高性价比机型推荐!
  • Blender骨骼创建
  • DevExpress WPF中文教程:Grid - 如何完成列和编辑器配置(设计时)?
  • 高考完的三个月想自学点编程,有没有什么建议
  • 运维开发(DevOps):加速软件交付的关键方法
  • Vue前端环境搭建:从四个方面、五个方面、六个方面和七个方面深度解析
  • 农业领域科技查新点提炼方法附案例!
  • 【Bazel入门与精通】 rules之属性
  • Elementor无需第三方插件实现高级下拉菜单/巨型菜单
  • 【数学】什么是傅里叶变换?什么是离散傅里叶变换?什么是拉普拉斯变换?
  • opencv安装笔记 各种平台
  • 前端开发中的热更新原理
  • unix环境高级编程第2版:深入探索UNIX编程的奥秘
  • 力扣42 接雨水
  • 【代码随想录】【算法训练营】【第35天】[134]加油站 [135]分发糖果 [860]柠檬水找零 [406]根据身高重建队列
  • Talk|新加坡国立大学贾鑫宇:适用于高自由度机器人的运动控制器
  • 【npm】console工具(含胶囊,表格,gif图片)
  • OpenCV读取图片
  • HBase中的CRUD
  • C/C++学习笔记 C语言中的\0以及查找字符串中字符出现的频率
  • 在C#中,有多种方式可以实现每天在指定的时间清空数据库数据。下面列出几种常用的方法,并提供简要的实现思路:
  • 深入理解java设计模式之单例模式
  • 程序员自由创业周记#36:Gap Year
  • Java 类与对象 -- Java 语言的类与对象、构造器、static、final、包和 JAR
  • MTK平台纯色背景抑制
  • Linux iptables使用详解