Use the onAppear event to trigger onPageBegin and onPageEnd only when the URL is loaded for the first time. The sample code is as follows:
import { webview } from '@kit.ArkWeb';
@Entry
@Component
struct OnlyOnTheFirstTrigger {
controller: webview.WebviewController = new webview.WebviewController();
isFirst: boolean = false;
build() {
Column() {
Web({
src: 'www.example.com', controller: this.controller
})
.onAppear(() => {
this.isFirst = true;
})
.onPageBegin(() => {
if (this.isFirst) {
this.isFirst = false;
console.info('First page loading triggered');
}
})
}
.width('100%')
.height('100%')
}
}