一、基础概念
在深入了解如何使用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页面中打开小程序的操作,也给开发者提供了更为丰富的开发思路。