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

在 UniApp 中获取当前页面地址

在 UniApp 中获取当前页面地址,可以通过以下步骤实现:

方法说明:

  1. 获取当前页面实例:使用 getCurrentPages() 获取页面栈数组,最后一个元素即为当前页面实例。

  2. 提取页面路径和参数:从页面实例的 route 属性获取路径,options 属性获取参数。

  3. 拼接完整地址:将路径和参数组合成完整 URL。

function getCurrentUrl() {// 获取页面栈const pages = getCurrentPages();if (pages.length === 0) return;// 当前页面实例const currentPage = pages[pages.length - 1];// 页面路径(补全前缀)const path = `/${currentPage.route}`;// 处理参数(编码特殊字符)const queryParams = currentPage.options || {};const queryString = Object.keys(queryParams).map(key => `${encodeURIComponent(key)}=${encodeURIComponent(queryParams[key])}`).join('&');// 完整地址const fullUrl = queryString ? `${path}?${queryString}` : path;console.log('当前页面地址:', fullUrl); // 输出如:/pages/index/index?id=123
}

注意事项:

  • 平台差异:H5 端路径可能包含协议和域名,但建议使用上述跨平台方法。

  • 生命周期限制:在 App.onLaunch 等过早时机调用可能导致页面栈未生成。

  • 参数编码:使用 encodeURIComponent 处理特殊字符,确保 URL 合法性。

扩展场景:

  • H5 端获取完整 URL:若需包含协议和域名(仅 H5 有效):

// 仅适用于 H5 环境
const fullH5Url = window.location.href;

通过上述方法,可跨平台获取当前页面的路径及参数,适用于需要动态处理页面地址的场景。

http://www.dtcms.com/a/150447.html

相关文章:

  • 敏捷开发中的AI测试:未来的趋势与挑战
  • XCZU19EG-2FFVC1760I Xilinx赛灵思FPGA Zynq UltraScale+MPSoC
  • QT多元素控件及其属性
  • HTTP代理基础:网络新手的入门指南
  • 【HFP】蓝牙HFP协议来电处理机制解析
  • vue实现静默打印pdf
  • 利用HandlerMethodArgumentResolver和注解解析封装用户信息和Http参数
  • 【k8s】Taint污点)、Toleration(容忍)
  • 事关数据安全,ARM被爆不可修复漏洞
  • 在KEIL里C51和MDK兼容以及添加ARM compiler5 version编译器
  • 单片机通讯外设 (UART)、I2C、SPI、CAN 和 LIN 时序分析 使用场景以及优缺点对比分析报告
  • Ubuntu 环境下控制蓝牙适配器
  • JVM理解(通俗易懂)
  • Python内置函数---bin()
  • 11.thinkphp的模板
  • java将pdf转换成word
  • 3DGS之齐次坐标
  • 用户模块-SpringEvent观察者模式
  • ToB标杆!容联云入选量子位「2025中国AIGC应用报告」
  • CSS内边距、外边距、边框
  • 深入微服务核心:从架构设计到规模化
  • CSS初识
  • Android仿今日头条Kotlin版本
  • 机器学习算法-分类决策树
  • vue项目中使用tinymce富文本编辑器
  • CSS3 基础(边框效果)
  • 【Unity笔记】Unity 编辑器扩展:一键查找场景中组件引用关系(含完整源码)(组件引用查找工具实现笔记)
  • Prompt 结构化提示工程
  • React组件测试完全指南:从入门到实践
  • vue3+dhtmlx 甘特图真是案例