Javascript 不使用被动侦听器来提高滚动性能(Lighthouse Report)
最近的一份灯塔报告指出了以下问题 不使用被动侦听器来提高滚动性能 它还提到 考虑将触控和滚轮事件侦听器标记为被动,以提高页面的滚动性能Javascript 不使用被动侦听器来提高滚动性能(Lighthouse Report),javascript,jquery,lighthouse,Javascript,Jquery,Lighthouse,最近的一份灯塔报告指出了以下问题 不使用被动侦听器来提高滚动性能 它还提到 考虑将触控和滚轮事件侦听器标记为被动,以提高页面的滚动性能 我如何解决这个问题?这似乎与jQuery有关。在2016年,关于这个话题有一个长长的线索 简言之: jQuery无法向被动侦听器添加支持 预计这将添加到jQuery4中(4年后仍在使用) 5.x) 建议的修复方法是在jQuery加载之后立即添加此代码: 这已经成功了 // Passive event listeners jQuery.event.spec
我如何解决这个问题?这似乎与jQuery有关。在2016年,关于这个话题有一个长长的线索 简言之:
- jQuery无法向被动侦听器添加支持李>
- 预计这将添加到jQuery4中(4年后仍在使用)
- 5.x)
- 建议的修复方法是在jQuery加载之后立即添加此代码:
这已经成功了
// Passive event listeners
jQuery.event.special.touchstart = {
setup: function( _, ns, handle ) {
this.addEventListener("touchstart", handle, { passive: !ns.includes("noPreventDefault") });
}
};
jQuery.event.special.touchmove = {
setup: function( _, ns, handle ) {
this.addEventListener("touchmove", handle, { passive: !ns.includes("noPreventDefault") });
}
};
我在添加jquery-3.3.1.min.js的脚本标记之后添加了这个脚本标记。灯塔的性能不会再提高了。这里有没有人找到一个解决方案来真正摆脱报告“不使用被动侦听器来提高滚动性能”的目标是让lighthouse报告对你的老板/客户有好处,或者让页面实际表现得更好?@squarkandy我认为这两点对很多人都有意义;)这个补丁是否有一个非官方的jQuery发行版?它会阻止灯塔警告吗?我想你需要删除
代码>前ns.包括
// Passive event listeners
jQuery.event.special.touchstart = {
setup: function( _, ns, handle ) {
this.addEventListener("touchstart", handle, { passive: !ns.includes("noPreventDefault") });
}
};
jQuery.event.special.touchmove = {
setup: function( _, ns, handle ) {
this.addEventListener("touchmove", handle, { passive: !ns.includes("noPreventDefault") });
}
};