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);
  };
相关推荐
2501_9159184125 分钟前
iOS 手机抓包软件怎么选?HTTPS 调试、TCP 数据流分析与多工具组合的完整实践
android·ios·智能手机·小程序·https·uni-app·iphone
游戏开发爱好者81 小时前
iOS 应用上架的工程实践复盘,从构建交付到审核通过的全流程拆解
android·ios·小程序·https·uni-app·iphone·webview
00后程序员张1 小时前
iOS App 如何上架,从准备到发布的完整流程方法论
android·macos·ios·小程序·uni-app·cocoa·iphone
Json____1 小时前
uni-app-数码购物商城h5手机端-前端静态网页
前端·uni-app·商城
wx_xsooop1 小时前
iOS 上架4.3a 被拒【uniapp专讲】
flutter·ios·uni-app·uniapp
脾气有点小暴19 小时前
uniapp滚动容器冲突
uni-app
鱼樱前端21 小时前
uni-app开发app之前提须知(IOS/安卓)
前端·uni-app
二狗mao1 天前
Uniapp使用websocket进行ai回答的流式输出
websocket·网络协议·uni-app
良逍Ai出海2 天前
Build in Public|为什么我开始做一款相册清理 App(听说有竞品年收益40W)
ios·uni-app·ai编程·coding
2501_915106324 天前
iOS App 测试工具全景分析,构建从开发调试到线上监控的多阶段工具链体系
android·测试工具·ios·小程序·uni-app·iphone·webview