[Violation] Added non-passive event listener to a scroll-blocking <some> event.

[Violation] Added non-passive event listener to a scroll-blocking <some> event.

Passive Event Listeners——让页面滑动更加流畅的新特性

Passive Event Listeners - 被动事件监听器,在写H5页面的时候,Chrome 提醒。

报错信息:

Vue控制台警告 :[Violation] Added non-passive event listener to a scroll-blocking event.

Consider marking event handler as ‘passive’ to make the page more responsive.

翻译如下:

违反:没有添加被动事件监听器来阻止’touchstart’事件,请考虑添加事件管理者’passive’,以使页面更加流畅。

这个是 Chrome51 版本以后,Chrome 增加了新的事件捕获机制-Passive Event Listeners;

Passive Event Listeners:就是告诉前页面内的事件监听器内部是否会调用preventDefault函数来阻止事件的默认行为,

以便浏览器根据这个信息更好地做出决策来优化页面性能。当属性passive的值为true的时候,

代表该监听器内部不会调用preventDefault函数来阻止默认滑动行为,

Chrome浏览器称这类型的监听器为被动(passive)监听器。

目前Chrome主要利用该特性来优化页面的滑动性能,

所以Passive Event Listeners特性当前仅支持mousewheel/touch相关事件。

解决办法

npm i default-passive-events -S

main.js中加入:import ‘default-passive-events’

 

posted @ 2021-11-11 14:39  秋墨江雪  阅读(3739)  评论(0编辑  收藏  举报