当前位置: 首页 > 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内边距、外边距、边框
  • 中国人民银行:5月8日起降息,15日起降准
  • 甘怀真:天下是神域,不是全世界
  • 央行:5月15日起下调金融机构存款准备金率0.5个百分点
  • 科技赋能文化体验,“五一”假期“海昏侯”人气创新高
  • 台湾花莲县海域发生5.7级地震,震源深度15公里
  • 铁路上海站迎五一返程客流最高峰,今日预计到达75.9万人次