HarmonyOS鸿蒙Next中web组件加载H5页面时,如何获取该页面的标题?
HarmonyOS鸿蒙Next中web组件加载H5页面时,如何获取该页面的标题?
3 回复
非常简单,一行代码搞定:this.controller.getTitle();
// xxx.ets
import { webview } from '@kit.ArkWeb';
import { BusinessError } from '@kit.BasicServicesKit';
@Entry
@Component
struct WebComponent {
controller: webview.WebviewController = new webview.WebviewController();
build() {
Column() {
Button('getTitle')
.onClick(() => {
try {
let title = this.controller.getTitle();
console.info("title: " + title);
} catch (error) {
console.error(`ErrorCode: ${(error as BusinessError).code}, Message: ${(error as BusinessError).message}`);
}
})
Web({ src: 'www.example.com', controller: this.controller })
}
}
}
更多关于HarmonyOS鸿蒙Next中web组件加载H5页面时,如何获取该页面的标题?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS Next中,使用Web组件加载H5页面时,可以通过注册onTitleReceive事件回调来获取页面标题。当H5页面标题发生变化时,该回调会被触发,返回的标题信息可通过事件参数获取。具体实现需在Web组件上设置onTitleReceive事件监听,并在回调函数中处理接收到的标题数据。
在HarmonyOS Next中,可以通过Web组件的onTitleReceive回调来获取H5页面的标题。具体实现如下:
- 在ArkTS中创建Web组件并设置回调:
Web({
src: 'https://example.com'
})
.onTitleReceive((title: string) => {
console.info('Received page title: ' + title);
// 在这里处理获取到的标题
})
- 当H5页面标题发生变化时,系统会自动触发该回调,将最新标题作为参数传入。
这种方式不需要额外配置,适用于大多数H5页面。如果页面使用JavaScript动态修改标题,回调也会被正确触发。

