javascript - 如何识别和消除 wordpress 上的冲突脚本?
问题描述
我正在使用https://understrap.com/主题和https://lifterlms.com在 WordPress 上创建一个网站 当插件 lifterlms 被激活时,我的导航栏在移动设备上运行不正常。使用移动视图上的 chrome 开发工具,如果我单击打开菜单,它会短暂打开并自动关闭。在我的手机上使用实时链接进行测试,单击切换会打开菜单但不会关闭。这是一个视频来说明正在发生的事情https://youtu.be/O0DpAmoZz_c
要复制问题:
- 安装 understrap 主题https://understrap.com/
- 安装和激活 understrap 子主题
- https://understrap.com/understrap-child-themes/
- 创建一些页面
- 创建菜单和广告页面
- 安装并激活 lifterLms
- 使用开发工具在移动视图中查看网站
- 点击菜单切换
我联系了 lifterlms 团队,但不幸的是,他们无法帮助我解决可接受的延误。
他们告诉我:
您可以尝试在您的子主题的 functions.php 文件中排除有问题的冲突。
所以我的问题是,我应该如何继续识别冲突的脚本?
任何帮助,将不胜感激。
预期行为菜单应在点击移动设备时打开/关闭
单击时,实际行为菜单会在移动设备上快速关闭
解决方案
“如果我点击打开菜单,它会短暂打开并自动关闭。” - 这可能是由于安装了两次相同的处理程序造成的。单击将调用处理程序两次。第一次调用打开菜单。第二次调用关闭菜单。因此,“它会短暂打开并自动关闭”。可以两次安装同一处理程序的一种方法是加载同一库的两个版本。我怀疑同一个库的桌面浏览器版本和移动浏览器版本。每个版本都会附加自己的处理程序。使用浏览器的开发工具,您可以查看所有处理程序 - 检查任何重复的处理程序 - 或查看加载的 JavaScript 列表 - 检查重复文件。作为最后的手段,您不能通过临时重命名它们来加载单个 JavaScript 文件,看看这是否能解决您的问题。
推荐阅读
- android - 当我运行 flutter pub get 时出现此错误“date_picker_timeline”取决于 intl ^0.16.0 而“flutter_localizations”取决于 intl 0.17.0
- javascript - 多次输出 Div ID
- python - 从 3D 散点图中获取多个圆柱体
- python - 使用python创建一个xml文件
- java - 为什么 Java Unix 时间和日历计算准确时间?
- mysql - Docker 镜像在 m1 处理器中运行
- flutter - 在 null 上调用了方法“*” - Flutter
- java - 将 Instant 转换为 LocalDateTime 时的不同值
- php - PHP - 如果调用函数而不提供默认值,我可以选择使用默认值作为参数吗
- javascript - 使用 .prototype 向类添加方法