uniapp:APP端webview拦截H5页面跳转,华为市场发布需要限制webview的H5页面跳转

在使用uniapp开发APP项目时,华为市场上线APP会被打回来:您的应用内容存在点击跳转至第三方应用市场或游戏中心下载渠道的问题,不符合华为应用市场审核标准。

华为审核指南4.6

因此可以考虑下面的处理方式,通过拦截webview页面的url实现:

javascript 复制代码
  onReady(() => {
    nextTick(() => {
      plusReady();
    });
  });

  const plusReady = () => {
    let pages = getCurrentPages();
    let page = pages[pages.length - 1];
    let currentWebview = page.$getAppWebview();
    let t: any = setTimeout(() => {// 加个延时器,确保能够拿到currentWebview.children()[0]
      clearTimeout(t);
      t = null;
      // 获取webview实例
      const wv = currentWebview.children()[0];
      // 除myweb.cn以外的页面跳转都将被拦截
      // 如需全部拦截:wv.overrideUrlLoading({ mode: 'reject' }, (e) => {}
      wv.overrideUrlLoading({ mode: 'allow', match: '.*.myweb.cn/.*' }, (e) => {
        uni.showModal({
          title: '提示',
          content: '尊敬的用户,您即将打开手机浏览器跳转页面,可能会存在安全风险,请谨慎操作。确定继续吗?',
          showCancel: true,
          success: ({ confirm }) => {
            if (confirm) {
              plus.runtime.openURL(e.url); // 使用外部浏览器打开,规避风险,跳出去了你想干啥和我APP没关系~~~~
            }
          }
        });
      });
    }, 500);
  };
相关推荐
lhldsg12 小时前
智慧场馆解决方案小程序开发实战:从架构设计到部署指南
java·小程序·uni-app
skiyee13 小时前
🚀 用 17 行代码给 UniApp 加上全局登录拦截
前端·uni-app
Mark1085917 小时前
【踩坑】Uni-app微信小程序自定义组件在 Flex 布局中未铺满整行
微信小程序·小程序·uni-app
梦曦i21 小时前
create-uni-app v1.1.0:结构化生成,工程骨架更规范
前端·uni-app
2501_916007472 天前
Flutter与游戏App加固避坑指南:如何为混合开发与高交互应用选对安全方案?
安全·flutter·游戏·ios·小程序·uni-app·iphone
PedroQue992 天前
@meng-xi/create-uni-app v1.0.0 正式发布
前端·uni-app
肥仔哥哥19302 天前
uniapp开发App一键登录:从技术选型到前后端落地实战--2秒登录,流失率减半:在uniapp里接入一键登录的全过程
uni-app·一键登录设计选型
JackieDYH2 天前
uniapp-幸运抽奖转盘组件-案例
uni-app
ModyQyW2 天前
vite-plugin-uni-manifest 更新了什么
前端·typescript·uni-app
PedroQue993 天前
v2.7.1:修复 H5 端返回死循环闪烁问题
前端·uni-app