HarmonyOS鸿蒙Next中WebView加载https地址报错
HarmonyOS鸿蒙Next中WebView加载https地址报错
WebView加载https://www.baidu.com正常;加载自己的https地址报错。
报错信息:We’re sorry but template doesn’t work properly without JavaScript enabled. Please enable it to continue.
我用的链接是vue hash模式, ‘#’; 我试了history模式是可以的。可能和这个有关系;
更多关于HarmonyOS鸿蒙Next中WebView加载https地址报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
追加:vue hash模式也可以。
可能是因为我没加这个导致的。 webView.getWebConfig().setJavaScriptPermit(true);
追加:
vue history模式配置说明:
部署配置:publicPath,vue-router base, nginx
参考:https://blog.csdn.net/qq_42440919/article/details/121922183
webview代码:
webView.getWebConfig().setJavaScriptPermit(true); //这个没有无法加载js文件
webView.getWebConfig().setDataAbilityPermit(true);
webView.getWebConfig().setWebStoragePermit(true);
会不会是你配置的https证书不符合规则,也就是说,有些免费的ssl证书,在一些浏览器上,会提示你的证书不安全的,你可以改为http访问,在config.json配置一下支持http访问就可以了。
证书是安全的,用了纯html页面测试没问题;
和vue hash模式有关,
欢迎开发小伙伴们进来帮帮楼主
在HarmonyOS鸿蒙Next中,WebView加载https地址报错可能涉及以下几个原因:
-
证书问题:如果目标https地址的SSL证书无效、过期或不被系统信任,WebView将无法加载该地址。鸿蒙系统对SSL证书的验证较为严格,确保证书链完整且受信任。
-
网络安全配置:鸿蒙系统要求应用在访问网络时进行明确的网络安全配置。如果应用的
config.json
文件中未正确配置network
权限或未声明cleartextTrafficPermitted
,可能导致https地址加载失败。 -
TLS版本不兼容:某些https服务器可能使用较旧或不兼容的TLS版本,而鸿蒙系统默认支持较新的TLS版本。如果服务器不支持TLS 1.2或更高版本,WebView可能无法建立安全连接。
-
WebView配置问题:WebView的配置可能影响https地址的加载。例如,未启用JavaScript支持或未正确设置
WebSettings
中的setMixedContentMode
,可能导致https资源加载失败。 -
系统限制:鸿蒙系统可能对某些https地址进行了限制,特别是涉及敏感内容或不符合安全标准的地址。系统可能会阻止这些地址的加载。
-
缓存问题:WebView的缓存可能导致https地址加载异常。如果缓存中存在损坏或不完整的数据,WebView可能无法正确加载新的https内容。
-
网络环境问题:在某些网络环境下,如使用代理或VPN,可能导致https地址加载失败。网络配置或防火墙规则可能阻止了https连接的建立。
以上是鸿蒙Next中WebView加载https地址报错的常见原因。具体问题需根据错误日志和实际情况进一步分析。
在HarmonyOS鸿蒙Next中,WebView加载HTTPS地址报错可能由以下原因引起:
-
证书问题:HTTPS地址的SSL证书可能无效或不受信任。确保服务器证书有效且由受信任的CA颁发。
-
网络配置:检查网络连接是否正常,确保设备可以访问目标HTTPS地址。
-
WebView配置:在代码中启用WebView的HTTPS支持,例如通过
WebSettings
设置setMixedContentMode
为MIXED_CONTENT_ALWAYS_ALLOW
。 -
安全策略:某些安全策略可能阻止加载HTTPS内容,检查是否有相关限制。
建议逐一排查上述问题,确保WebView正确配置并能够加载HTTPS内容。