HarmonyOS 鸿蒙Next中给web组件设置url
HarmonyOS 鸿蒙Next中给web组件设置url
我的代码:
Web({
src: this.url,
controller: this.webviewController
})
第一次给this.url赋值的时候,web会正常加载网页。
然后再次给this.url赋新值的时候就不会加载新的网页了?
只能用一次?
10 回复
要通过loadUrl()重新加载。如:
this.webviewController.loadUrl('https://developer.huawei.com/');
更多关于HarmonyOS 鸿蒙Next中给web组件设置url的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
可以修改this.url
,改动了过后需要调动一下刷新
this.url = '更改后网址'
this.webController.refresh() //调用一下刷新
第一只赋值为啥不需要refresh ?
标题
文本内容
子标题
更多文本内容
楼主使用loadUrl()方法加载新URL
// 修改URL时调用以下代码
this.webviewController.loadUrl(newUrl);
完整示例
import { webview } from '@kit.ArkWeb';
@Entry
@Component
struct WebExample {
@State url: string = 'https://first-load.com';
webviewController: webview.WebviewController = new webview.WebviewController();
build() {
Column() {
Button('切换页面')
.onClick(() => {
this.url = 'https://new-page.com';
this.webviewController.loadUrl(this.url);
})
Web({
src: this.url, // 仅初始化生效
controller: this.webviewController
})
}
}
}
希望HarmonyOS能继续优化系统稳定性,减少崩溃和重启的情况。
为啥修改this.url 不好使了呢? 只能用一次?
在HarmonyOS Next中,使用Web组件加载URL需通过loadUrl()
方法实现。首先创建Web组件实例,然后调用该方法传入目标URL字符串。示例代码:
// 创建Web组件
let webview: web.Webview = new web.Webview()
// 加载URL
webview.loadUrl("https://example.com")
注意需在module.json5
中声明ohos.permission.INTERNET
网络权限。URL需包含协议头(如https://),否则会加载失败。Web组件支持http/https协议,不支持file协议直接访问本地文件。