使用跨域方案加载一个跳转网页,第一次加载显示白屏,返回后再次进入显示正常;再次退出重进网页,又显示白屏,需要退出重进才会显示正常。一直这样循环。网页加载代码如下:
Web({ src: this.url, controller: this.webviewController })
.domStorageAccess(true)
.onlineImageAccess(true)
.imageAccess(true)
.zoomAccess(false)
.fileAccess(true)
.geolocationAccess(true)
//.userAgent("tdxhms")
.userAgent('Mozilla/5.0 (Phone; OpenHarmony 4.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 ArkWeb/4.1.6.1 Mobile '+"tdxhms")
.javaScriptAccess(true)
.javaScriptProxy(this.systemExposedJsApi!.getJavaScriptProxy())
.height(this.pageHeight)
.mixedMode(MixedMode.All)
.backgroundColor('rgba(0,0,0,0)')
.onInterceptRequest((event):WebResourceResponse|null=>{
console.log('----webview onInterceptRequest' );
if(!event){
return null;
}
return onInterceptRequest(event.request);
})
.onPageBegin(()=>{
console.log('----webview onPageBegin' );
})
.onOverrideUrlLoading((webResourceRequest: WebResourceRequest) => {
console.log('----webview onOverrideUrlLoading' );
return false;
})
.onRenderExited((event) => {
if (event) {
console.log('----webview onRenderExited:' + event.renderExitReason);
}
})
.onProgressChange((event) => {
if (event) {
console.log('----webview newProgress:' + event.newProgress);
}
})
.onPageVisible((event) => {
console.log('----webview onPageVisible url:' + event.url);
})
.onLoadIntercept((event) => {
console.log('----webview onLoadIntercept ');
return false;
})
.onPageEnd((event) => {
this.isShow = true;
})
使用这个参考示例:
html代码: