H5打开小程序的全面指南(H5网页跳转小程序)

一、基础概念

在深入了解如何使用H5打开小程序之前,必须先了解什么是小程序以及如何使用H5打开小程序。小程序是一种应用程序,可以在手机上直接使用,不需要下载和安装,而且它还具有许多特殊的功能和优点,如便捷快速、占用空间小、操作简单等等。而H5打开小程序,则是指在浏览器(如QQ浏览器、微信浏览器等)中通过设置自定义协议打开小程序的方式。

在这里,我们需要知道以下几个概念:

1. 小程序原生打开:即在微信中直接打开小程序。

2. H5打开小程序:指用户在非微信浏览器内通过访问小程序H5地址,或者通过在非微信浏览器内的H5页面内的跳转链接打开小程序。

3. 自定义协议:是一种通过URL协议直接打开本地应用的技术,如”weixin://”

下面我们来具体了解如何使用H5打开小程序。

二、H5打开小程序的途径

在H5页面中,我们通过以下三种方式来实现打开小程序的操作:

1. 使用a标签跳转

  <!-- 此处为小程序链接 -->
  <a href="weixin://dl/business/?from=mp_profile&action=home&wx_extdata=%2Fi3s8tgU%2FoiEDYIha%2FzZot7zlPC9bhBmXiVwTu7PWArCxzZwpwTnlrGQvLCOJYHjD16jg%2BqDQ3EJTG17HqVxsDoSkt84N7V6YHqikjKJVRc%3D">查看小程序</a>

当用户点击链接时,浏览器会先判断链接的协议是否为http或者https,如果是,则按照传统方式访问链接,如果协议是自定义协议(如”weixin://”),则会询问用户是否允许打开微信,并打开微信。

2. 使用JavaScript代码

  <!-- 打开小程序 JS -->
  <button
    onclick="if(typeof WeixinJSBridge == 'undefined'){alert('请在微信中打开小程序');}else{WeixinJSBridge.invoke('launchMiniProgram', {username:'gh_xxxxxxxx',path:'/pages/index/index'}, function(e){});}">
    打开小程序
  </button>

这种方式通过JS代码调用微信提供的API,来达到打开小程序的目的。其中username即小程序的原始id,path即小程序的页面路径。通过这种方式,我们可以在页面上可以自由地设计打开小程序的入口。需要注意的是,这种方式只能在微信内部使用。

3. 使用二维码

  <!-- 此处为小程序二维码 -->
  <img src="small.jpg" width="150" height="150"/>

用户通过扫描页面中的小程序二维码,就可以打开小程序。

三、H5页面与小程序的关联

下面我们来介绍如何在H5页面中实现与小程序的关联。此处以微信小程序为例,其他小程序类似。

1. 在小程序开发者后台获取小程序的APPID和原始ID

在开发者后台找到小程序的“设置”选项,在“开发设置”中可以找到“开发者ID”,里面的AppID和原始ID将会用到。

2. 在H5页面中引入JS文件

  <!-- 引用 JS 文件 -->
  <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>

引用微信提供的JS文件,此文件包含许多与微信API相关的方法。

3. 在H5页面中配置微信授权

在H5页面中通过微信的JS-SDK进行鉴权。

  <!-- 引用 JS 文件 -->
  <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script> 

  <script>
    wx.ready(function () {
      // 配置微信小程序
      wx.miniProgram.getEnv(function(res) {
        if (res.miniprogram) {
          wx.miniProgram.navigateTo({url: 'pages/index/index'})
        } else {
          // 非小程序中,通过URL跳转到小程序,以下是通过a标签进行跳转的示例代码。
          // 此处的 weixin3rdid, weappappid, pagepath 分别代表第三方平台的应用ID(即小程序所属平台)、小程序本身的AppID、小程序页面路径
          var url = 'https://mp.weixin.qq.com/mp/waopen/openaccess?'
          + 'appid=weappappid&'
          + 'username=weixin3rdid&'
          + 'path=pagepath&'
          + 'openwebview=1#wechat_redirect'
          document.location.href = url
        }
      })
    })
  </script>

使用微信提供的wx.miniProgram.getEnv方法来判断当前用户是否已打开小程序,在小程序内部则使用wx.miniProgram.navigateTo()来实现页面跳转,否则使用URL方式跳转到小程序,同时在URL中需要设置username和appid。

四、小结

通过以上的介绍,我们可以总结出如下步骤,来实现在H5页面中打开小程序。

步骤一:在小程序开发者后台获取小程序的APPID和原始ID。

步骤二:引用微信提供的js文件。

步骤三:在H5页面中通过微信的JS-SDK进行鉴权,并根据不同情况调用不同的打开小程序方式。

通过以上步骤,可以方便地实现在H5页面中打开小程序的操作,也给开发者提供了更为丰富的开发思路。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平