x-webview-u 混合WebView
混合开发 WebView。可加载网页,也可通过 getManager() 安装、打开本地小程序包。完整混合方案见 开发文档。
兼容性
| Harmony | IOS | Android | WEB | 小程序 |
|---|---|---|---|---|
| 支持 | 支持 | 支持 | 支持 | 不支持 |
调用
vue
<x-webview-u ref="wbRef" src="https://x-ui.design" :progressChanged="onProgress" @pageFinish="onFinish"></x-webview-u>ts
wbRef.value?.loadUrl("https://x-ui.design")
wbRef.value?.navback()
wbRef.value?.refresh()
const manager = wbRef.value?.getManager()
manager?.checkAppInstall("tmui.app.hybrid").then((res) => {
if (res == null) {
manager.installApp(appinfo, null).then((ok) => {
if (ok) manager.openMiniProgramHostUrl("tmui.app.hybrid")
})
} else {
manager.openMiniProgramHostUrl("tmui.app.hybrid")
}
})参数
| 字段 | 说明 | 默认 |
|---|---|---|
| src | 加载地址 | https://x-ui.design |
| width / height | 尺寸 | 100% |
| schema | App 唤起协议白名单 | [] |
| allowLoadUrl | 外链是否放行。iOS 不支持 | 放行 |
| allowLoadUrlWhite | 外链白名单 | [] |
| showLoadProgress | 进度条 | false |
| loadProgressColor | 进度条颜色 | 主题色 |
| progressChanged | 加载进度 0~100 | - |
| callMethod | Web 调宿主 | - |
| webConfig | 注入 Web 的配置 | { sign: 'tmuiJssdk' } |
事件
| 名称 | 参数 | 说明 |
|---|---|---|
| init | 无 | 原生视图初始化完成 |
| pageStart | 当前 url | 开始加载页面 |
| pageFinish | 当前 url | 页面加载完成 |
| pageError | 错误信息 | 页面加载失败 |
| contentheightchange | 内容高度 | 网页内容高度变化 |
| postMessage | { detail: string } | 网页向宿主发消息 |
| donwload | { url, userAgent, contentDisposition, mimeType, contentLength } | 触发下载。iOS 14.5+ |
方法
| 名称 | 需要 | 说明 |
|---|---|---|
| loadUrl | url: string | 加载指定地址 |
| navback | 无 | 后退一页 |
| forward | 无 | 前进一页 |
| refresh | 无 | 刷新当前页 |
| clearCache | 无 | 清除 WebView 缓存 |
| setUserAgent | ua: string | 设置 User-Agent |
| getUserAgent | 无 | 返回 Promise,当前 User-Agent |
| evaJs | jsCode: string | 执行网页 JS。Android 返回结果,其它端为 null |
| getManager | 无 | 返回小程序管理器,可 checkAppInstall / installApp / openMiniProgramHostUrl |
平台差异
- 无微信实现。Web 为 iframe。
allowLoadUrl拦截 iOS 不支持。evaJs:Android 返回执行结果;其它端为null。donwload:iOS 14.5+。
版本
版权归https://xui.tmui.design你不得修改及二次开发,仅供TMUI4会员商用使用。不得转给非VIP会员使用,一经查实数倍赔偿,并追究法律责任。
更新日志
1.0.2(2026-05-20)
- 重要更新,三个平台添加的相机和视频声音录制权限。请参考demo实现在网页上直接录制视频抓拍功能。
1.0.1(2026-03-26)
- 【重要优化】x-webview-u,适配了web端,通过打补丁式引入额外的tmuiJssdkWebPack1.0.0.js来支持web端,即web套web。
1.0.0(2026-02-01)
- 首次发布webview混合开发插件,三端app支持:鸿蒙,安卓,ios
