web-view环境下,H5页面打开其他小程序

embedded/2025/1/21 10:51:33/

在Web-view环境下,H5页面无法直接打开其他小程序。正确的实现方式是先从H5页面跳转回当前小程序,再由当前小程序跳转到目标小程序。具体实现方法如下:

  • H5页面跳转回小程序时,调用wx.miniProgram.navigateTo()方法。

  • 小程序跳转到其他小程序时,调用wx.navigateToMiniProgram()方法。官方文档中提供了示例代码,其使用较为简单,主要需要传入目标小程序appid,以及可选参数path(若不传入,则默认跳转到目标小程序的首页)。

在开发过程中,我在小程序中创建了一个专门用于跳转其他小程序的页面。其逻辑是:H5页面携带参数跳转到该新建页面,在页面的onLoad()生命周期函数中调用wx.navigateToMiniProgram()方法。具体代码如下:

JavaScript复制

wx.navigateToMiniProgram({appId: option.appid,path: `${option.path}?id=${option.id}`,success(res) {// 跳转成功}
})

然而,在真机调试时出现了一个奇怪的问题:第一次调用该方法可以成功跳转到其他小程序,但第二次调用时却无法跳转。经过多次尝试,发现该问题并无明显规律可循。查看调试信息后发现,wx.navigateToMiniProgram方法报错,错误信息为“navigateToMiniProgram:fail can only be invoked by user TAP gesture”,即该方法只能由用户的点击操作触发。

为了解决这一问题,我在onLoad()函数中添加了一个uni.showModal弹窗。当用户点击弹窗中的“确定”按钮时,再调用wx.navigateToMiniProgram方法,从而解决了问题。具体代码如下:

JavaScript复制

wx.showModal({title: '温馨提示',content: '提示内容',showCancel: true, // 是否显示取消按钮cancelText: "取消", // 默认是“取消”cancelColor: '#000000', // 取消文字的颜色confirmText: "确定", // 默认是“确定”confirmColor: '#3cc51f', // 确定文字的颜色success: function(res) {if (res.cancel) {// 点击取消,返回上一级页面wx.navigateBack()} else {// 调用wx.navigateToMiniProgram跳转到目标小程序wx.navigateToMiniProgram({appId: option.appid,path: `${option.path}?id=${option.id}`,success(res) {// 跳转成功}})}},fail: function(res) {// 接口调用失败的回调函数,返回上一级页面},complete: function(res) {// 接口调用结束的回调函数(无论调用成功或失败都会执行)},
})

通过这种方式,成功解决了在onLoad()中直接调用wx.navigateToMiniProgram方法时出现的问题,确保了小程序跳转功能的正常实现。

生活中总是充满了各种选择,点餐纠结,出行选择,聚餐座位,团队投票结果不明,随机抽签一锤定音等等!为了解决这个问题,我开发了一款【随机选择决定转盘工具】微信小程序,随机做出决策!无论是随机抽选还是投硬币,都能轻松搞定。现在通过微信小程序二维码就能体验!快来试试吧,让选择变得更简单!

Windows Server 2016离线安装.NET Framework 3.5方式

安装方法:下载 NetFx3.cab (下载地址) 后将其放于C盘WINDOWS文件夹下(C:\Windows)

点击“开始”找到“Windows PowerShell”右击“以管理员身份运行”,输入如下命令:

dism.exe /online /add-package /packagepath:C:\WINDOWS\netfx3.cab

生活中总是充满了各种选择,点餐纠结,出行选择,聚餐座位,团队投票结果不明,随机抽签一锤定音等等!为了解决这个问题,我开发了一款【随机选择决定转盘工具】微信小程序,随机做出决策!无论是随机抽选还是投硬币,都能轻松搞定。现在通过微信小程序二维码就能体验!快来试试吧,让选择变得更简单!


http://www.ppmy.cn/embedded/155752.html

相关文章

深入理解Linux系统内存中文件结构以及缓冲区,模拟实现c语言库文件接口

目录 一、文件的理解 二、文件操作 1.Linux系统中文件接口: 1.1.open 1.2.write 1.3.read 三、文件描述符 四、重定向的理解 五、缓冲区 1.语言层缓冲区 2.系统层缓冲区 3.缓冲区刷新策略(语言层) 六、c文件接口的模拟实现 1.m…

算法妙妙屋-------2..回溯的奇妙律动

回溯算法是一种用于系统性地搜索和解决问题的算法,它以深度优先搜索(DFS)为基础,用来探索所有可能的解决方案。通过递归地尝试候选解并在必要时回退(即“回溯”),它能够高效地解决许多涉及组合、…

MySQL中的GROUP_CONCAT函数将分组后的多个行值合并成一个字符串,并用指定分隔符连接

文章目录 前言什么是GROUP_CONCAT?基本语法 使用示例示例1: 基本用法示例2: 去重并排序 高级应用应用场景示例注意事项 结论表结构1. Orders 表 (订单表)2. Order_Details 表 (订单详情表) 示例数据Orders 表的数据Order_Details 表的数据 使用 GROUP_CONCAT 的查询…

人工智能之数学基础:线性代数中的线性相关和线性无关

本文重点 在线性代数的广阔领域中,线性相关与线性无关是两个核心概念,它们对于理解向量空间、矩阵运算、线性方程组以及人工智能等问题具有至关重要的作用。 定义与直观理解 当存在一组不全为0的数x1,x2,...,xn使得上式成立的时候,那么此时我们可以说向量组a1,a2...,an…

AUTOSAR从入门到精通-【AUTOSAR】AUTOSAR BSW层应用详解

目录 前言 几个高频面试题目 在AUTOSAR系统中如何将BSW模块分配到不同的分区和内核呢? BSW 在多核系统中的分配 错误处理 MCAL及协议栈分配 通信协议栈分配 加密服务分配 安全关键系统中的 BSW 分配 注意事项 算法原理 BSW层通信架构 一、通信驱动 二、通信硬件抽…

AttributeError: ‘super‘ object has no attribute ‘__sklearn_tags__‘

最近用sklearn跑Stacking,基学习器是XGBoost、LightGBM、CatBoost。运行的时候报了标题的这个错误。 应该是sklearn的版本高了,需要降级处理。报错时的版本号是1.6.0 ,可以降级到1.5.2。直接运行下面的代码就行。 !pip uninstall -y scikit…

蓝云APP(第三方蓝奏云盘安卓客户端)

蓝云app是一款第三方蓝奏云安卓客户端软件,蓝云安卓版支持手机上传文件,分享链接生成二维码.提供蓝奏云盘官方版所有功能以外的特色功能,例如:全盘文件搜索,蓝奏直链解析下载,自动识别链接,个性化布局等. 特点描述 - 提供更细致化的自定义显示布局 - 支持启用搜索功能&#xf…

R语言的编程范式

R语言的编程范式探讨 引言 R语言作为一种专门用于统计分析和数据可视化的编程语言,近年来得到了广泛的应用。无论是在学术研究、企业分析,还是在数据科学的各个领域,R语言凭借其强大的数据处理能力和丰富的图形化工具,吸引了大批…