HarmonyOS 鸿蒙Next webview H5 原生手势返回怎么写啊,目前直接回到桌面了
HarmonyOS 鸿蒙Next webview H5 原生手势返回怎么写啊,目前直接回到桌面了
请教一下 webview H5 的原生手势返回怎么写啊 , 目前直接回到桌面了
4 回复
我想让webview里面的H5能正常返回,加了这个函数后,都没法返回了
src: MyHost.getWebHttp(this.loadUrl),
controller: this.controller
})
.onLoadIntercept((event) => {
if (event) {
let url = event.data.getRequestUrl();
console.log(`onLoadIntercept url:${url}`);
if(url是xxx){
//拦截到url后,
1、可以 router.back()返回上一页
2、可以 this.controller.backward()
回退h5返回重定向之前的页面 参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-webview-0000001813416660#ZH-CN_TOPIC_0000001813416660__backwardh+-/$%-+ return true;
}
}
}
return false;
})
在HarmonyOS的WebView中实现原生手势返回(如侧滑返回),通常需要在你的页面或Fragment中拦截并处理系统的侧滑事件。可以通过重写onTouchEvent
或dispatchTouchEvent
方法来实现。对于WebView,你可能需要设置一个WebChromeClient
或WebViewClient
来辅助处理,但直接控制侧滑返回通常不直接通过这些客户端实现。
确保你的页面或Activity已经启用了侧滑返回(如使用DrawerLayout等)。对于WebView内部的内容,可能需要JavaScript接口来辅助实现更复杂的逻辑。
如果问题依旧没法解决请加我微信,我的微信是itying888。