HarmonyOS鸿蒙Next中webview白屏
HarmonyOS鸿蒙Next中webview白屏
HarmonyOS 使用webview加载H5页面,显示白屏,URL通过浏览器可以正常访问。API20+
@react-native-ohos/react-native-webview 13.15.1 RN版本0.77
既然降到 13.10.5 可以恢复,优先按 13.15.1 的 RN WebView 适配回归来处理。建议保留一个最小复现:同一个 URL、同一台设备、同一 RN 版本,仅切换 webview 版本;同时把 onError/onHttpError/onLoadStart/onLoadEnd 日志、页面是否依赖 JS/DOMStorage、是否有混合内容或证书问题一起打出来。若原生 ArkTS Web 组件能正常加载,而 RN WebView 13.15.1 白屏,就更能定位到桥接层或该版本组件问题。线上先锁定 13.10.5,后续等组件版本修复再升级。
更多关于HarmonyOS鸿蒙Next中webview白屏的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
@react-native-ohos/react-native-webview 13.10.5
目前通过降低版本解决了白屏问题
开发者你好,问题已收到,正在处理中。
项目用的RN0.77版本。一套代码编译3端。鸿蒙使用的是@react-native-ohos/react-native-webview 13.15.1版本。在鸿蒙手机上,webview 展示不了页面。安卓和IOS使用的react-native-webview 正常展示
不是用arkTS写的,代码是RN的,0.77.这个版本可以编译成鸿蒙代码。这个官方文档已经看过了。目前在排查和鸿蒙原生的桥接是否有问题
在HarmonyOS Next中,WebView白屏常见原因:网络权限未在module.json5中声明ohos.permission.INTERNET;WebViewController未正确绑定;加载的URL无效或被拦截;HTTPS证书校验失败;或ArkUI组件渲染异常。请确认以上配置与代码。,
白屏通常由网络权限或混合内容加载策略引起。在使用 @react-native-ohos/react-native-webview 加载 HTTPS 链接时,若页面包含 HTTP 资源或证书校验未通过,Web 组件默认会拦截并导致白屏。
解决方案:
在原生侧 EntryAbility 中,通过 resourceManager 注册 rawfile 下的证书文件,并配置 Web 组件模式。关键配置示例:
// 在 aboutToAppear 或 RN 调用原生前设置
webview.WebviewController.setWebDebuggingAccess(true);
// 针对 HTTPS 加载 HTTP 资源白屏,设置混合内容模式
this.webConfig = {
mixedMode: webview.MixedMode.All, // 允许加载不安全的 HTTP 内容
// 若需要忽略证书错误(仅调试用)
// enableNativeMediaPlayer: false,
};
确保 module.json5 中已申请 ohos.permission.INTERNET 权限。


