我开发过程中有小程序跳转到网页的需求,下面分享一下我的实现过程:
使用官方文档web-view组件:web-view | 微信开放文档
1、首先得通过微信公众平台配置业务域名,配置业务域名需要将校验文件上传到网站服务器根目录下。
步骤一:登录公众平台找到开发管理
步骤二:找到业务域名新增,下载校验文件,将校验文件放到网站服务器根目录下。
步骤三:浏览器可访问到网站服务器根目录下的校验文件,即可保存业务域名成功。
备注:微信小程序跳转到第三方网页需要获取第三方网站的同意,想要跳转到别人的网站,得获取别人的同意,吧把校验文件让别人放到网站服务器根目录下,想想别人怎么可能随便同意,搞笑。。。
这里以跳到自己开发的h5页面为例。
2、在小程序代码中加入新页面并配置路由,新页面使用web-view承载网页的容器。会自动铺满整个小程序页面
在app.json配置路由文件
"pages": [ ...... "pages/out/out"//新增页面],
out/out下的index.wxml
<web-view src="https://www.baidu.com/"></web-view>//你没有看错,就是这么一行,把你要跳转的界面用src就可以了,以后要跳转到哪,src里面地址就写哪!
3、在想要跳转的时候使用路由跳转方法去跳转就行。
wx.navigateTo({ url:'/pages/out/out', //success:function() { }, //成功后的回调;fail:function() { }, //失败后的回调;complete:function() { } //结束后的回调(成功,失败都会执行)})
所以:我遇到的需求是在微信小程序跳转进入第三方H5支付页面进行农行支付,直接跳到农行的支付页面是不可能的,人家怎么可能同意放校验文件在他们服务器上,所以正在尝试跳到自己的h5页面,再在h5页面使用iframe去内嵌第三方支付页面,之后再同大家分享。
后续:h5内嵌iframe/或者通过a标签还是不行,需要走校验流程,以下是调试关闭校验业务域名设置的调试结果,发布到线上依然实现不了
iframe:
a标签