Я использую расширение Chrome для изменения приращений Zoom, и оно выдает эту ошибку в консоли:
Added non-passive event listener to a scroll-blocking 'mousewheel' event. Consider marking event handler as 'passive' to make the page more responsive.
Я пытался изменить расширение, добавив флаг, чтобы сделать обработчик событий пассивным, но, похоже, он не работает, и я не знаю почему?
Вот код:
window.addEventListener("mousewheel", function( event ) {
if(enabled){
//console.log("Scrolling Before: ",scrolling);
if(!zooming){
if(( event.wheelDeltaY > 0 || event.wheelDeltaY < 0 ) && !event.ctrlKey && !scrolling)
scrolling = true;
}
//console.log("Scrolling: ",scrolling);
if(!zooming && !scrolling){
if(event.ctrlKey){
zooming = true;
tempZoomLevel = zoomLevel;
if( event.wheelDeltaY > 0 ) {
tempZoomLevel += zoomIncrement;
}
if( event.wheelDeltaY < 0 ) {
tempZoomLevel -= zoomIncrement;
}
if((Date.now() - lastZoomEvent) > zoomDelay){
lastZoomEvent = Date.now();
zooming = false;
zoomLevel = tempZoomLevel;
chrome.runtime.sendMessage({zoom: zoomLevel, lastZoom:lastZoomEvent, from:"content"}, function(response) {
});
}
else
zooming = false;
}
event.preventDefault();
event.stopPropagation();
}
/*else{
}*/
return false;
}
}, {capture: true} ); /* Passive event listeners Mikhoul */
В конце вы увидите, что я добавил "флаг" {capture: true}
, но у меня всегда есть эта ошибка в консоли:
Также вот ссылка на весь аддон, который я модифицировал для личного использования, если вам нужно посмотреть код целиком: https://dl.dropboxusercontent.com/s/olon2g04mifo7gh/ZommIncrementsFork.zip
Что я пропустил, чтобы сделать слушателя пассивным и перестать выкидывать эту ошибку в консоль?
Привет!