承载网页的容器。会自动铺满整个小程序页面。一个页面只允许存在一个<web-view>
,否则会导致当前页面的导航栏返回按钮不可用。
网页内 iframe 的域名需要配置到域名白名单,请在 「GMU小程序开放平台-小程序开发-版本发布-域名管理」 中进行配置,配置时需要注意:域名只支持 https 协议。
效果展示
示例代码
WXML
<view class="page"> <view class="page__hd"> <text class="page__title">web-view</text> <text class="page__desc">承载网页的容器。</text> </view> <view class="page__bd"> <web-view src="https://m.baidu.com/" bindload="onload" bindmessage="onmessage"></web-view> </view> </view>
|
嵌套的js文件向小程序发送消息
window.parent.postMessage({ data: {foo: 'bar'} }, "*")
|
API
属性 |
类型 |
默认值 |
必填 |
说明 |
src |
string |
无 |
否 |
webview 指向网页的链接。 |
bindmessage |
eventhandle |
无 |
否 |
网页向小程序 postMessage 时,会触发并收到消息。e.detail = { data } |
bindload |
eventhandle |
无 |
否 |
网页加载成功时候触发此事件。e.detail = { src } |
多平台支持
属性 |
平台支持 |
src |
支付宝 |
bindmessage |
支付宝 |
bindload |
注释:
支付宝需进行域名白名单配置,个人小程序不支持webview组件,如需查看效果,需在支付宝小程序开发者工具中忽略Webview域名合法性检查(仅在本地模拟、预览和远程调试时生效)
相关接口1:
web-view网页中可使用webviewSDK提供的接口返回小程序页面。 支持的接口有:
接口名 |
说明 |
gmu.miniProgram.navigateTo |
参数与小程序接口一致 # |
gmu.miniProgram.navigateBack |
参数与小程序接口一致 # |
gmu.miniProgram.switchTab |
参数与小程序接口一致 # |
gmu.miniProgram.redirectTo |
参数与小程序接口一致 # |
示例代码
gmu.miniProgram.navigateTo({ url: '/page/index?id=1', success: function(res) { console.log(res) } });
gmu.miniProgram.switchTab({ url: '/page/index' });
gmu.miniProgram.navigateBack();
gmu.miniProgram.redirectTo({ url: '/page/index' });
|
相关接口2:
web-view网页中可使用webviewSDK提供的接口支持小程序的其他能力。
接口名 |
说明 |
gmu.miniProgram.navigateToMiniProgram |
参数与小程序接口一致 # |
gmu.miniProgram.navigateBackMiniProgram |
参数与小程序接口一致 # |
gmu.miniProgram.setStorage |
参数与小程序接口一致 # |
gmu.miniProgram.getStorage |
参数与小程序接口一致 # |
gmu.miniProgram.removeStorage |
参数与小程序接口一致 # |
示例代码
gmu.miniProgram.navigateToMiniProgram({ appId: '', path: 'page/index/index?id=123', extraData: { foo: 'bar' }, success(res) { } })
gmu.miniProgram.navigateBackMiniProgram();
gmu.miniProgram.setStorage({ key: "key", data: "value" })
gmu.miniProgram.getStorage({ key: 'key', success (res) { let data = res.data } })
gmu.miniProgram.removeStorage({key: 'key'})
|