微信小程序跳转其他小程序报错

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tel13259437538/article/details/82226457

Write By Monkeyfly

以下内容均为原创,如需转载请注明出处。

前提

  • 广告位中的图片需要点击跳转至指定的小程序。
  • 当前小程序和要跳转到指定的小程序,二者之间已经满足了都是同一公众号下关联的小程序的前提。
  • 不满足前提,无法在一个小程序内打开另一个小程序。
  • tip:只有同一公众号下的关联的小程序之间才可相互跳转。 详情入口(点击查看)

问题再现

1.实现方式:使用 <navigator> 组件

<navigator target="miniProgram" open-type="navigate" app-id="" path="" version="release">
     <image src=""></image>
</navigator>

2.错误提示

这里写图片描述

VM299:2 <navigator/> should have url attribute when using navigateTo, redirectTo or switchTab

意思就是:<navigator/>组件在使用时,涉及到以上3种跳转方式时,必须拥有 url 属性,否则就会出错。

官方文档提供的代码示例如下所示:

<!-- sample.wxml -->
<view class="btn-area">
  <navigator url="/page/navigate/navigate?title=navigate" hover-class="navigator-hover">跳转到新页面</navigator>
  <navigator url="../../redirect/redirect/redirect?title=redirect" open-type="redirect" hover-class="other-navigator-hover">在当前页打开</navigator>
  <navigator url="/page/index/index" open-type="switchTab" hover-class="other-navigator-hover">切换 Tab</navigator>
  <navigator target="miniProgram" open-type="navigate" app-id="" path="" extra-data="" version="release">打开绑定的小程序</navigator>
</view>

疑惑:完完全全就是复制官方示例代码写的,居然会报错,奇了怪了。

随后,经过反复确认:绝对不是代码的问题。

然后,就在想:是不是开发工具哪里设置的有问题。

扫描二维码关注公众号,回复: 3695158 查看本文章

于是,就在微信开发者工具上一顿乱找,最终居然被我发现了问题所在。
如下图所示:(惊不惊喜?意不意外?刺不刺激?)

这里写图片描述

接下来的操作就简单了,只需要把 调试基础库设置为最新版本 就好了。

这里写图片描述

微信开发者工具调试基础库的默认版本是比较低的,好像是1.9.96版本

设置步骤: 开发者工具右上角的“详情”按钮 → 项目设置 → 调试基础库

【我怎么也没有想到,居然是这个原因导致的错误。至此,问题完美解决。】

疏忽的地方

1.在开始使用组件时,感觉这个版本号与我使用该组件没什么关系,就没有在意 最低版本 这几个字。
这里写图片描述

2.由于对开发者工具的不熟悉,导致根本就不知道还可以设置调试基础库,以及基础库版本会影响实际的功能和效果

3.认为 直接复制粘贴官方提供的示例代码 就可以实现相应功能了,不需要考虑其他的因素。

知识拓展

公众号关联小程序的关联规则:(了解一下)

  • 所有公众号都可以关联小程序。
  • 一个公众号可关联10个同主体的小程序,3个不同主体的小程序。
  • 一个小程序可关联500个公众号。
  • 公众号一个月可新增关联小程序13次,小程序一个月可新增关联500次。

关联流程:登录公众号后台 —— 小程序 —— 小程序管理 —— 添加 —— 关联小程序

打开小程序最早支持的API:wx.navigateToMiniProgram(OBJECT)

参考文档入口(点击查看)

注:此接口即将废弃,请使用 <navigator> 组件来使用此功能。

这就是我为什么选用 <navigator> 组件来实现此功能。

结束语

1.在开发者工具上调用此API 并不会真实的跳转到指定的小程序,但是开发者工具会校验本次调用跳转是否成功。

2.最后还要注意的一点是:<navigator>组件中的version属性。

  • 该属性表示要打开的小程序是什么版本的。默认值:release(正式版)
  • 当 target="miniProgram" 时 version 属性有效。有效值有3种,分别是: develop(开发版),trial(体验版),release(正式版)。
  • 仅在当前小程序为开发版或体验版时此参数(version)有效;
  • 如果当前小程序是正式版,则打开的小程序必定是正式版。即参数(version)设置无效。

猜你喜欢

转载自blog.csdn.net/tel13259437538/article/details/82226457
今日推荐