HarmonyOS web无法拦截路由

artweb中onLoadIntercept函数中无法拦截带有#重定向

window.location = “#uploadImgByClient?aaa=ddd”

原生侧

.onLoadIntercept((event) => {
  // console.log('url:' + event.data.getRequestUrl());
  // console.log('isMainFrame:' + event.data.isMainFrame());
  // console.log('isRedirect:' + event.data.isRedirect());
  // console.log('isRequestGesture:' + event.data.isRequestGesture());
  // return true;
  return this.webviewUrlChange(event.data.getRequestUrl());
})

//路由触发的接口
webviewUrlChange(url: string) {
  //上传图片
  if (url.includes("#uploadImgByClient")) {
    this.uploadImageToH5(url);
    return true;
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.

h5侧代码:

<a href="#uploadImgByClient?imgNum=2&serverurl=http%3A%2F%2Fm.mynj.cn%3A12002%2Fznmh_FEP%2Fmobile%2Fimg%2FuploadImg%3FprojectName%3Dsuggest%26userId%3DACD085F72F4016956332E26917553E734D43F87E594E5FA6DF91445E2B9D8AC91CA23A2C2E99F602B79A90CADF895BC1&imgSize=1500&selectPhotoType=photoAll&isEdit=0">
  • 1.
HarmonyOS
2025-01-09 16:26:26
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
fox280

在href的值加一个协议头。

参考下面的指导文档

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/web-redirection-and-browsing-history-mgmt-V5#页面跳转

修改如下:

<a href="native://#uploadImgByClient?imgNum=2&serverurl=http%3A%2F%2Fm.mynj.cn%3A12002%2Fznmh_FEP%2Fmobile%2Fimg%2FuploadImg%3FprojectName%3Dsuggest%26userId%3DACD085F72F4016956332E26917553E734D43F87E594E5FA6DF91445E2B9D8AC91CA23A2C2E99F602B79A90CADF895BC1&imgSize=1500&selectPhotoType=photoAll&isEdit=0">
<a href="#uploadImgByClient?imgNum=2&serverurl=http%3A%2F%2Fm.mynj.cn%3A12002%2Fznmh_FEP%2Fmobile%2Fimg%2FuploadImg%3FprojectName%3Dsuggest%26userId%3DACD085F72F4016956332E26917553E734D43F87E594E5FA6DF91445E2B9D8AC91CA23A2C2E99F602B79A90CADF895BC1&imgSize=1500&selectPhotoType=photoAll&isEdit=0">
  • 1.
  • 2.

只会在原url后面拼接上参数不会被检测到,如果要监测,只有前端使用popstate监测到

分享
微博
QQ
微信
回复
2025-01-09 19:52:45
相关问题
HarmonyOS 路由拦截
398浏览 • 1回复 待解决
HarmonyOS web拦截网络请求
606浏览 • 1回复 待解决
HarmonyOS 是否有前置路由拦截
459浏览 • 1回复 待解决
HarmonyOS web组件怎么拦截请求
991浏览 • 1回复 待解决
HarmonyOS 如何拦截web加载url
570浏览 • 1回复 待解决
HarmonyOS 导航路由拦截器如何实现
458浏览 • 1回复 待解决
HarmonyOS Web组件拦截返回按钮
619浏览 • 1回复 待解决
HarmonyOS Web对about:blank组件拦截
705浏览 • 1回复 待解决
HarmonyOS web组件关闭跨域拦截
445浏览 • 1回复 待解决
HarmonyOS web组件拦截返回手势
462浏览 • 1回复 待解决
页面路由的用户权限验证控制与拦截
854浏览 • 1回复 待解决
HarmonyOS Web组件实现异步的请求拦截
469浏览 • 1回复 待解决
HarmonyOS Web拦截网页动态添加请求头
448浏览 • 1回复 待解决
Web组件拦截页面请求响应
1541浏览 • 1回复 待解决
HarmonyOS Web组件如何拦截特殊url请求?
1137浏览 • 1回复 待解决
HarmonyOS web组件拦截每一次跳转
552浏览 • 1回复 待解决