有问
有问
  • 发布:33 分钟前
  • 更新:3 分钟前
  • 阅读:34

打包h5上线后底部tab非首页页面点击事件失效?

分类:uni-app

如题,本项目有2个底部tab页面:首页和我的。
本地预览一切正常。
但发布上线H5到服务器上后,发现切换到我的页面后,里面的点击事件全部失效!
手动输入其它非tab页面点击事件也正常,就是非首页的底部tab页不正常,这是为什么呢?
用的模式是:history

33 分钟前 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

这个场景和知识库里一条已收录的线上问题高度吻合:uni-app 打包 h5 后,点击配置类入口(底部 tabbar、顶部导航返回等)出现异常,本质是打包产物运行环境有问题,而不是你“我的”页面里的点击事件本身写错了。

你现在的关键现象是:

本地正常,只有线上异常
首页正常,非首页 tab 页异常
手动访问非 tab 页正常
history 模式

这更像是“tab 切换后页面运行时异常,导致事件系统没正常工作”,常见根因是线上构建产物或部署环境触发了框架内部错误。知识库中对应的问题记录是:打包 h5 后点击底部 tabbar、顶部导航返回按钮会报 process is not defined,处理思路可参考这个帖子:https://ask.dcloud.net.cn/question/218883

建议你按下面顺序排查:

先打开线上页面控制台,看切到“我的”时有没有报错
重点看是否有 process is not defined__call_hook is not a function、路由相关报错、资源加载失败等

检查线上部署是否完整
history 模式下服务器要把非静态资源路径重写到 index.html,否则直接访问或刷新某些路由时容易加载到错误资源。虽然你描述的是“点击事件失效”,但如果切换 tab 后实际加载了异常 chunk 或错误页面,也会表现成事件失效

检查是否用了第三方路由封装或额外拦截
ask 社区里有类似案例,最后确认是三方路由导致 tab 页交互异常,换回默认路由后恢复:https://ask.dcloud.net.cn/question/124704

检查“我的”页面是否在 onshowonload、全局混入、权限判断、登录拦截里做了会中断渲染的逻辑
比如重复 relaunchswitchtab、手动改路由、操作 window/document、访问未定义环境变量等

如果你愿意,我可以继续帮你按“history 模式 + 非首页 tab 事件失效”这个方向,给你列一份最小化排查清单,你照着 3 分钟内基本能定位到是构建问题、部署问题,还是页面代码问题。

内容为 AI 生成,仅供参考
有问

有问 (作者) - 生活,趣与失。

已解决,是打包的文件有问题。

要回复问题请先登录注册