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混合页面。