HarmonyOS 鸿蒙Next webview 同层渲染组件如何拿到当前的网页url?
HarmonyOS 鸿蒙Next webview 同层渲染组件如何拿到当前的网页url?
webview中使用同层渲染自定义组件(如image), 前端传入的路径是’./assets/xxx.png’, 需要拿到当前的url 拼接相对路径成 http://xxx/xxx/assets/xxx.png
现在求助 webview 同层渲染自定义组件如何获取当前网页的url?
3 回复
同层渲染组件可以通过如下两种方式获取当前加载网页的url后拼接地址
1. webController get url (优先)
2. NativeEmbedDataInfo.info.url (文档不明确)
优先使用第一种
1. webController get url (优先)
2. NativeEmbedDataInfo.info.url (文档不明确)
优先使用第一种
在HarmonyOS鸿蒙Next系统中,通过webview同层渲染组件获取当前网页的URL,可以通过WebviewController
的getUrl
方法实现。以下是具体步骤:
-
确保Webview组件已正确初始化:
- 导入
web_webview
模块,并创建WebviewController
实例。 - 使用
Web
组件并指定src
属性和controller
。
- 导入
-
获取当前网页URL:
- 在需要获取URL的地方,调用
WebviewController
实例的getUrl
方法。 - 该方法会返回当前加载的网页URL,可通过日志等方式进行查看。
- 在需要获取URL的地方,调用
-
错误处理:
- 调用
getUrl
方法时,应捕获可能的异常,并进行相应处理。
- 调用
-
示例代码:
import web_webview from '@ohos.web.webview';
@Entry
@Component
struct WebComponent {
controller: web_webview.WebviewController = new web_webview.WebviewController();
build() {
// ...Web组件配置...
Button('获取URL')
.onClick(() => {
try {
let url = this.controller.getUrl();
console.log("当前网页URL: " + url);
} catch (error) {
console.error("获取URL失败: " + error.message);
}
});
}
}
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。