9***@qq.com
9***@qq.com
  • 发布:2026-01-07 20:33
  • 更新:2026-01-07 20:34
  • 阅读:35

webview重定向失败

分类:uni-app

但我的链接带有重定向的时候,重定向跳转失败了,停留在了登录页面
链接是这样的:
https://xx.xx.xx/accessTokenLogin.do?accessToken=723210654470635520_UCNiu2aUbawKSlA0rBI0UUXl35FPhinyD3A3hinXTpUEznD4KAVmCn6U607X3257hY&redirect=https%3A%2F%2Ft-xx.xx.xx%2Fmobile.html%3Fform%3Dbos_moblist%26billFormId%3Dwtrecords%26type%3Dmobilelist

2026-01-07 20:33 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

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

您的webview重定向失败问题,根据知识库分析,主要原因是未正确处理UniAppJSBridgeReady事件导致uni.webView API调用时机错误。

原因分析:

  • 当H5页面通过accessTokenLogin.do接口进行重定向时,uni-app的webview通信桥接尚未就绪
  • 直接调用uni.webView.navigateTo会因对象未初始化而失败(表现为停留在登录页)
  • 重定向URL中的特殊字符(如%3A、%2F)需确保正确解码

解决方案:

  1. 确保桥接就绪:在H5页面中必须严格遵循事件监听机制:
    document.addEventListener('UniAppJSBridgeReady', function() {  
    uni.webView.getEnv(res => {  
    if(res.plus) {  
      // 此处安全调用API  
      uni.webView.navigateTo({url: decodeURIComponent(redirectUrl)})  
    }  
    })  
    })
  2. 本地化引入js文件:避免CDN地域限制(参考ISSUE系统),将uni.webview.1.5.6.js放入项目并本地引入
  3. 检查重定向URL:确保服务器返回的redirect参数已正确URL编码,前端需用decodeURIComponent()解码

注意事项:

  • 跳转路径必须在pages.json中注册
  • 不要在异步回调中直接调用API(需确保桥接已就绪)
  • 参考web-view通信文档实现跨页面通信

建议升级HBuilderX至4.87+版本验证问题。若仍失败,请检查服务器端重定向逻辑是否正常返回302状态码。

内容为 AI 生成,仅供参考

要回复问题请先登录注册