一、小程序-内嵌网页-小程序
调用web-view组件实现小程序内嵌网页
承载网页的容器。会自动铺满整个小程序页面,个人类型的小程序暂不支持使用。
跳转前提:
1.小程序跳转到网页使用web-view时,需要到小程序后台添加网页的业务域名 配置业务域名教程
<web-view src="https://www.baidu.com"></web-view>
2.webview中的网页跳转小程序方法,需要引入js-sdk 教程
wx.miniProgram.navigateTo({
url:'/pages/index/index', //pages前面需要加斜线
success(res){
console.log (111, JSON.stringify(res))
},
fail(res){
console.log (222,JSON.stringify(res))
}
});
开发中遇到的问题
1.网页跳转回小程序会碰到类似如下的错误,ok了但是小程序依然不跳转,此时就是路径问题:
{errMsg: “invokeMiniProgramAPI:ok“}
下面两种写法都试一试,一个是绝对路径,一个是相对路径的写法,一般都能解决上述问题:
wx.miniProgram.navigateTo({url:'/pages/index/index'});
wx.miniProgram.navigateTo({url:'../index/index'});
2.目前嵌入的webview网页中是不支持使用开放标签跳转到小程序或者app的,所以这里不能使用开放标签
二、h5-小程序
使用开放标签
跳转小程序:wx-open-launch-weapp
用于页面中提供一个可跳转指定小程序的按钮。使用此标签后,用户需在网页内点击标签按钮方可跳转小程序
- 已认证的服务号,服务号绑定“JS接口安全域名”下的网页可使用此标签跳转任意合法合规的小程序。
- 已认证的非个人主体的小程序,使用小程序云开发的静态网站托管绑定的域名下的网页,可以使用此标签跳转任意合法合规的小程序
<wx-open-launch-weapp
id="launch-btn"
appid="wx12345678"
path="pages/home/index?user=123&action=abc"
>
<script type="text/wxtag-template">
<style>.btn { padding: 12px }</style>
<button class="btn">打开小程序</button>
</script>
</wx-open-launch-weapp>
<script>
var btn = document.getElementById('launch-btn');
btn.addEventListener('launch', function (e) {
console.log('success');
});
btn.addEventListener('error', function (e) {
console.log('fail', e.detail);
});
</script>