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);
  };
相关推荐
专科3年的修炼11 小时前
uni-app移动应用开发
uni-app
儒雅的烤地瓜12 小时前
小程序 | Vue小程序开发框架:MPvue与UniApp深度解析
前端·vue.js·uni-app·nodejs·cli·mpvue
2501_915106321 天前
如何在 Mac 上面代理抓包和数据流分析
android·macos·ios·小程序·uni-app·iphone·webview
2501_915921432 天前
在 Linux 上通过命令行上架 iOS APP,Fastlane + AppUploader(开心上架)
android·linux·运维·ios·小程序·uni-app·iphone
2501_915921432 天前
从构建到 IPA 保护,Flutter iOS 包如何做混淆与安全处理
android·安全·flutter·ios·小程序·uni-app·iphone
2501_916008892 天前
iPhone 手机硬件组件使用耗能历史记录查看,能耗查看
android·ios·智能手机·小程序·uni-app·iphone·webview
游九尘2 天前
uniapp查看下载文档,支持格式:doc, xls, ppt, pdf, docx, xlsx, pptx
uni-app
前端Hardy2 天前
用 uni-app x 重构我们的 App:一套代码跑通 iOS、Android、鸿蒙!人力成本直降 60%
前端·ios·uni-app
嘉琪0013 天前
uni-app 核心坑点及解决方案——2026 0309
uni-app
行者-全栈开发3 天前
uni-app 审批流程组件封装:打造企业级工作流可视化方案
uni-app