HarmonyOS 鸿蒙Next WebviewController 加载的网页不显示
HarmonyOS 鸿蒙Next WebviewController 加载的网页不显示
controller: web_webview.WebviewController = new web_webview.WebviewController()
onPageShow() {
const params:Params = router.getParams() as Params; // 获取传递过来的参数对象
if (params) {
let resultJson: Params = new Params();
resultJson.item=params.item;
this.AdData=resultJson.item
this.url=this.AdData.ad_url
console.info('http opageshow:' + this.url);
//日志 http opageshow: https://www.xxx.com/
}
}
build() {
Column() {
this.Title()
Web({src:this.url, controller: this.controller })
// Web({ src: 'https://www.xxx.com', controller: this.controller })
// 这样可以显示。是哪里不对?
}
.width(CommonConstants.FULL_WIDTH)
.height(CommonConstants.FULL_HEIGHT)
.backgroundColor($r('app.color.page_background'))
}
有大佬知道怎么处理吗?
更多关于HarmonyOS 鸿蒙Next WebviewController 加载的网页不显示的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
4 回复
从代码里看到渲染web是在build方法内,而获取url是在onPageShow方法内,由于build先于onPageShow执行,因此加载web时并没有获取到url,应该在 aboutToAppear方法内获取url,这样即可正确加载
更多关于HarmonyOS 鸿蒙Next WebviewController 加载的网页不显示的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
url: 是state 修饰的变量么?
只有state 修饰的变量, 才会自动更新UI.
在HarmonyOS鸿蒙系统中,针对Next WebviewController加载的网页不显示的问题,可能的原因及解决方案如下:
-
URL地址问题:
- 确认加载的URL地址是否正确,是否存在拼写错误或路径错误。
- 确认网页是否在服务器端正常访问,无404或500等错误。
-
WebView权限:
- 检查应用是否已申请并授予了访问网络、读取存储等必要的权限。
- 确认WebView的权限设置是否允许加载网页。
-
WebView设置:
- 检查WebViewController的配置,确保已正确设置支持加载网页所需的参数。
- 确认WebView的JavaScript、Cookies等设置是否开启。
-
系统兼容性问题:
- 确认使用的HarmonyOS版本是否支持当前WebViewController的加载方式。
- 尝试在不同设备或模拟器上运行,以排除设备兼容性问题。
-
资源加载问题:
- 确认网页中的图片、CSS、JS等资源文件是否可正常访问,无跨域问题。
如果以上方法均无法解决问题,可能是WebView组件或系统本身的bug,建议联系HarmonyOS官方客服以获取进一步的帮助。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。