记一次鸿蒙webview图片渲染失败的问题

记一次鸿蒙webview图片渲染失败的问题

如上图,在鸿蒙手机内h5部分页面中的图片渲染不出来,一开始以为是图片地址有问题,但是安卓和IOS页面中的图片都能正常渲染,而且吧图片复制出来在浏览器图片可能正常展示,本地开发环境和测试环境h5图片也能正常加载,于是排除了图片地址的问题

思来想去,不知道如何查看,因为是线上环境没办法用charles抓包,既然没办法用charles,那能不能调试一下webview里面的h5,去华为官网搜了下,果然可以调试

通过浏览器调试工具,可以看到接口以及图片的信息,经过一番对比,发现只要是http协议的图片都不能加载出来

猜测可能是https的域名加载了http协议的图片,于是去查webview相关的文档,果然有个属性**mixedMode默认的 mixedMode**不能从https域名加载http协议的资源

于是将Web组件的mixedMode设置为MixedMode.All,图片就可以正常展示出来了

示例代码如下:

jsx 复制代码
import { webview } from '@kit.ArkWeb';

@Entry
@Component
struct WebComponent {
  controller: webview.WebviewController = new webview.WebviewController();
  @State mode: MixedMode = MixedMode.All;
  build() {
    Column() {
      Web({ src: 'www.example.com', controller: this.controller })
        .mixedMode(this.mode)
    }
  }
}
相关推荐
nvd111 分钟前
企业级 LLM 实战:在受限环境中基于 Copilot API 构建 ReAct MCP Agent
前端·copilot
弓.长.4 分钟前
React Native 鸿蒙跨平台开发:实现商品列表组件
react native·react.js·harmonyos
Dragon Wu11 分钟前
TailWindCss cva+cn管理样式
前端·css
烤麻辣烫15 分钟前
Web开发概述
前端·javascript·css·vue.js·html
Front思26 分钟前
Vue3仿美团实现骑手路线规划
开发语言·前端·javascript
徐同保28 分钟前
Nano Banana AI 绘画创作前端代码(使用claude code编写)
前端
Ulyanov29 分钟前
PyVista与Tkinter桌面级3D可视化应用实战
开发语言·前端·python·3d·信息可视化·tkinter·gui开发
计算机程序设计小李同学29 分钟前
基于Web和Android的漫画阅读平台
java·前端·vue.js·spring boot·后端·uniapp
干前端31 分钟前
Message组件和Vue3 进阶:手动挂载组件与 Diff 算法深度解析
javascript·vue.js·算法
lkbhua莱克瓦2432 分钟前
HTML与CSS核心概念详解
前端·笔记·html·javaweb