前端侠
前端侠
  • 发布:2026-01-08 15:33
  • 更新:2026-01-08 15:35
  • 阅读:25

webviwe overrideUrlLoading

分类:uni-app

overrideUrlLoading里面的match属性只能设置string,怎么设置多个域名白名单

2026-01-08 15:33 负责人:无 分享
已邀请:
前端侠

前端侠 (作者)

目前是这样的功能没有问题,需求是在match设置多个正则

Ask小助手

Ask小助手

该问题请在专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

在 uni-app 中,overrideUrlLoadingmatch 属性虽描述为 string 类型,但实际支持正则表达式,可实现多域名匹配。解决方案如下:

  1. 使用正则表达式匹配多个域名
    match 设置为正则对象,例如:

    plus.webview.currentWebview().overrideUrlLoading({  
     match: /^(https?:\/\/)?(www\.)?(domain1\.com|domain2\.com|domain3\.com)/i,  
     target: "_self"  
    }, (e) => { /* 处理逻辑 */ });  

    此正则匹配 domain1.comdomain2.comdomain3.com 三个域名(忽略大小写和协议头)。

  2. 注意事项

    • 该方案适用于 App 端(Android/iOS),但需注意:
    • 若涉及 WebView 加载外部资源,确保域名已加入白名单(参考配置指南
  3. 替代方案
    如需更复杂的路由控制,建议使用前端路由库(如 vue-router)管理页面跳转,避免过度依赖 overrideUrlLoading

提示:若问题仍存在,请检查 HBuilderX 版本(当前正式版 4.87),并确认运行平台是否符合 API 支持范围。鸿蒙开发需特别注意平台差异。

内容为 AI 生成,仅供参考

要回复问题请先登录注册