Skip to content

x-webview-u 混合WebView

混合开发 WebView。可加载网页,也可通过 getManager() 安装、打开本地小程序包。完整混合方案见 开发文档

兼容性

HarmonyIOSAndroidWEB小程序
支持支持支持支持不支持

调用

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%
schemaApp 唤起协议白名单[]
allowLoadUrl外链是否放行。iOS 不支持放行
allowLoadUrlWhite外链白名单[]
showLoadProgress进度条false
loadProgressColor进度条颜色主题色
progressChanged加载进度 0~100-
callMethodWeb 调宿主-
webConfig注入 Web 的配置{ sign: 'tmuiJssdk' }

事件

名称参数说明
init原生视图初始化完成
pageStart当前 url开始加载页面
pageFinish当前 url页面加载完成
pageError错误信息页面加载失败
contentheightchange内容高度网页内容高度变化
postMessage{ detail: string }网页向宿主发消息
donwload{ url, userAgent, contentDisposition, mimeType, contentLength }触发下载。iOS 14.5+

方法

名称需要说明
loadUrlurl: string加载指定地址
navback后退一页
forward前进一页
refresh刷新当前页
clearCache清除 WebView 缓存
setUserAgentua: string设置 User-Agent
getUserAgent返回 Promise,当前 User-Agent
evaJsjsCode: string执行网页 JS。Android 返回结果,其它端为 null
getManager返回小程序管理器,可 checkAppInstall / installApp / openMiniProgramHostUrl

平台差异

  1. 无微信实现。Web 为 iframe。
  2. allowLoadUrl 拦截 iOS 不支持。
  3. evaJs:Android 返回执行结果;其它端为 null
  4. 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
最近更新