HarmonyOS鸿蒙Next中webview如何加载https和http混合页面
HarmonyOS鸿蒙Next中webview如何加载https和http混合页面 我们的应用有https和http混合页面,webview无法正常加载显示,有大佬知道该怎么处理吗?
给Web加个mixedMode(MixedMode.All)属性试下,该选项用于控制是否允许加载HTTP和HTTPS混合内容。https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-basic-components-web-V5#mixedmode
更多关于HarmonyOS鸿蒙Next中webview如何加载https和http混合页面的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS(鸿蒙Next)中,WebView组件默认支持加载https和http混合页面。你可以通过以下步骤确保WebView能够正确加载混合内容:
-
启用混合内容加载:
在WebView的设置中,可以通过setMixedContentMode方法配置混合内容的加载模式。鸿蒙提供了WebView.MixedContentMode枚举,允许你选择是否允许加载非安全的http内容。webView.setMixedContentMode(WebView.MixedContentMode.ALWAYS_ALLOW);其中,
MixedContentMode.ALWAYS_ALLOW表示允许加载所有混合内容,包括非安全的http资源。 -
配置网络安全策略:
如果你的应用需要加载http内容,确保在应用的网络安全配置中允许http请求。可以在config.json文件中配置cleartextTrafficPermitted为true,以允许明文传输。{ "deviceConfig": { "default": { "network": { "cleartextTrafficPermitted": true } } } } -
处理SSL证书错误:
如果页面中存在自签名或不受信任的SSL证书,WebView默认会阻止加载。你可以通过覆盖WebViewClient的onReceivedSslError方法来处理SSL错误,选择继续加载页面。webView.setWebViewClient({ onReceivedSslError: (view, handler, error) => { handler.proceed(); // 继续加载页面 } });
通过以上配置,WebView可以正常加载https和http混合页面。
在HarmonyOS鸿蒙Next中,WebView默认支持加载HTTPS和HTTP混合页面。如果遇到混合内容加载问题,可以通过以下步骤进行配置:
-
设置WebView属性:确保WebView的
setMixedContentMode方法设置为WebSettings.MIXED_CONTENT_ALWAYS_ALLOW,以允许加载混合内容。 -
配置网络安全配置:在
res/xml/network_security_config.xml中,添加<domain-config cleartextTrafficPermitted="true">,允许HTTP流量。 -
处理证书验证:如果HTTPS页面使用自签名证书,需自定义
WebViewClient的onReceivedSslError方法,处理SSL错误。
通过这些配置,WebView可以正常加载HTTPS和HTTP混合页面。

