目录

已开启元服务豁免管控,AtomicServiceWeb加载网页失败

问题现象

在元服务开发中,已开启元服务豁免管控,使用AtomicServiceWeb加载网页地址,加载失败,网页无法正常展示。

AtomicServiceWeb({
  src: '待加载的网页地址',
  controller: this.controller
})

背景知识

元服务Web(AtomicServiceWeb)组件用于在元服务内显示Web页面内容,为开发者提供Web页面加载、页面交互等能力。在元服务内,仅能使用AtomicServiceWeb组件显示Web页面,且需要配置业务域名。

为了保护好元服务生态,AtomicServiceWeb组件需要对webview访问的域名做管控,同时,为了满足开发者多样化的诉求,提供了以下形式的域名管控方案:

问题定位

  1. 本地调试运行,执行命令hdc shell "hilog -b D"打开debug日志开关。
  2. 查看日志,过滤“AtomicServiceWeb”关键词,可查看域名白名单和黑名单校验日志。checkUrl代表走域名白名单校验,checkUrlNew代表走域名黑名单校验。ret=true表示放通,ret=false,表示被拦截,url为访问的请求地址。

  3. 继续过滤ret=false的日志中,发现存在url被黑名单校验拦截,导致网页加载失败。

分析结论

AtomicServiceWeb中非主页面和iframe页面的http和https协议请求,走域名黑名单管控,对于在黑名单中的域名,请求会被拦截,网页加载异常。

修改建议

请替换被黑名单管控的访问域名。