在线咨询
Skip to content

in_app_webview 入口 ​

除了默认的包内页面入口,微应用还支持把一个完整的 HTTP(S) 页面作为入口(in_app_webview 类型):打开微应用时,由迅雷的内置 WebView 直接加载该远程页面。

适用场景:已有现成的 Web 应用,想以微应用的形式接入迅雷分发,暂不需要平台能力。

声明方式 ​

json
{
  "entry": {
    "type": "in_app_webview",
    "url": "https://example.com/app"
  }
}

url 必须是完整的 http(s):// 地址,不接受相对路径,也不支持 file:、data: 等其它协议。

与默认入口的差异 ​

包内页面入口(默认)in_app_webview 入口
url 要求包内相对路径完整 http(s):// 地址
页面来源微应用包内本地文件远程网站
注入 xunlei✅ 注入🔴 不注入
window 配置✅ 生效🔴 不生效
页面资源与导航规则受微应用容器约束由宿主 WebView 决定

行为要点 ​

  • 页面运行在宿主 WebView 中,不会注入 xunlei 对象(页面里判断 window.xunlei 为 undefined);
  • 宿主未提供内置 WebView 能力时,打开会失败(MINIAPP_IN_APP_WEBVIEW_UNAVAILABLE),不会降级到默认入口;
  • 页面的导航、下载、网络等行为由宿主决定,不受微应用的资源加载规则与网络白名单约束;
  • 微应用被停用或卸载时,对应的入口页面会被关闭。

何时选择 ​

  • 只是分发现有 Web 应用、不需要任务 / 存储等平台能力 → in_app_webview 入口,成本最低;
  • 需要调用平台能力(创建下载任务、存储、设置等)→ 使用默认的包内页面入口;已有的外部页面逻辑可以用辅助 WebView 承接。