当前位置: 首页 > 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;

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

相关文章:

  • 敏捷开发中的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内边距、外边距、边框
  • 水利部启动实施蓄滞洪区建设管理三年行动
  • 更好发挥汽车产业在扩投资促消费方面的带动作用!陈吉宁调研上海车展
  • 迎世界读书日,2025年首都大学生系列读书活动发布
  • 美国那点事|特朗普的“刀”砍向国务院,美国霸权迎来历史拐点?
  • 黎巴嫩“伊斯兰集团”组织证实其高级成员在以军空袭中丧生
  • 洛阳白马寺存争议的狄仁杰墓挂牌,当地文物部门:已确认