前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信小程序官方组件展示之开放能力web-view源码

微信小程序官方组件展示之开放能力web-view源码

作者头像
软件事业部
发布2022-11-10 09:14:10
9520
发布2022-11-10 09:14:10
举报
文章被收录于专栏:软件事业部专栏

以下将展示微信小程序之开放能力web-view源码官方组件能力,组件样式仅供参考,开发者可根据自身需求定义组件样式,具体属性参数详见小程序开发文档。

功能描述:

承载网页的容器。会自动铺满整个小程序页面,个人类型的小程序暂不支持使用。

客户端 6.7.2 版本开始,navigationStyle: custom 对 web-view 组件无效。

属性说明:

相关接口 1

web-view网页中可使用JSSDK 1.3.2提供的接口返回小程序页面。 支持的接口有:

示例代码

javascript

代码语言:javascript
复制
// <script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
// javascript
wx.miniProgram.navigateTo({url: '/path/to/page'})
wx.miniProgram.postMessage({ data: 'foo' })
wx.miniProgram.postMessage({ data: {foo: 'bar'} })
wx.miniProgram.getEnv(function(res) { console.log(res.miniprogram) })

相关接口 2

web-view网页中仅支持以下JSSDK接口:

相关接口 3

用户分享时可获取当前web-view的URL,即在onShareAppMessage回调中返回webViewUrl参数。

示例代码:

代码语言:javascript
复制
Page({
 onShareAppMessage(options) {
 console.log(options.webViewUrl)
 }
})

相关接口 4

在网页内可通过window.__wxjs_environment变量判断是否在小程序环境,建议在WeixinJSBridgeReady回调中使用,也可以使用JSSDK 1.3.2提供的getEnv接口。

示例代码

代码语言:javascript
复制
// web-view下的页面内
function ready() {
 console.log(window.__wxjs_environment === 'miniprogram') // true
}
if (!window.WeixinJSBridge || !WeixinJSBridge.invoke) {
 document.addEventListener('WeixinJSBridgeReady', ready, false)
} else {
 ready()
}
// 或者
wx.miniProgram.getEnv(function(res) {
 console.log(res.miniprogram) // true
})

相关接口 5

从微信7.0.0开始,可以通过判断userAgent中包含miniProgram字样来判断小程序 web-view 环境。

相关接口 6

从微信7.0.3开始,webview内可以通过判断下面的方式判断小程序是否在前台:

代码语言:javascript
复制
WeixinJSBridge.on('onPageStateChange', function(res) {
 console.log('res is active', res.active)
})

Bug & Tip

1.tip:网页内 iframe 的域名也需要配置到域名白名单。

2.tip:开发者工具上,可以在 web-view 组件上通过右键 - 调试,打开 web-view 组件的调试。

3.tip:每个页面只能有一个 web-view,web-view 会自动铺满整个页面,并覆盖其他组件。

4.tip:web-view 网页与小程序之间不支持除 JSSDK 提供的接口之外的通信。

5.tip:在 iOS 中,若存在 JSSDK 接口调用无响应的情况,可在 web-view 的 src 后面加个#wechat_redirect解决。

6.tip:避免在链接中带有中文字符,在 iOS 中会有打开白屏的问题,建议加一下 encodeURIComponent

版权声明: 本站所有内容均由互联网收集整理、上传,如涉及版权问题,请联系我们第一时间处理。

原文链接地址:https://developers.weixin.qq.com/miniprogram/dev/component/web-view.html

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档