Highcharts: Мульти- [Нарушение] Добавлен непассивный прослушиватель событий для блокирующего прокрутку события 'touchstart' ++

Созданный на 9 июл. 2019  ·  41Комментарии  ·  Источник: highcharts/highcharts

Ситуация

В MacOS / Chrome
_CandleStick: когда включены StockTools_
Множество заметных некорректно обработанных списков событий, добавленных в консоль. в основном относится к событию touchstart
[Violation] Added non-passive event listener to a scroll-blocking 'touchstart' event. Consider marking event handler as 'passive' to make the page more responsive.

Воспроизвести

Это можно легко заметить в консоли любой демонстрации StockChart на основе реакции с включенным модулем stock-toos.

Вот быстрые живые демонстрации:
https://codesandbox.io/s/10yv629397
https://www.highcharts.com/stock/demo/stock-tools-gui

Видео:
https://i.imgur.com/Z80XISw.mp4

Screenshot 2019-07-08 at 16 38 38

Проверено на
MacOS (Mojave) Chrome (версия 75.0.3770.100) и другие компьютеры Mac и версии Chrome.

Done Bug

Самый полезный комментарий

Подтверждаю, теперь могу воспроизвести - у меня такие же ошибки в консоли в Windows.

Все 41 Комментарий

Спасибо за сообщение!

@sebastianbochan - не могли бы вы взглянуть?

Внутреннее примечание
В stockTools добавляем события (клик / касание) по умолчанию H.addEvent . В функцию мы должны добавить поддержку {passive: true} для событий касания.

Есть ли какое-нибудь быстрое решение, пока вы не добавите пассивную поддержку?

Привет @slashvortal!
В этот момент вы можете перезаписать функцию H.addEvent , но, что важно, она должна находиться в правильном месте (перед загрузкой модулей).

Демо:

Спасибо @sebastianbochan , я бы дождался исправления, чтобы использовать его с оболочкой highcharts-react.

Есть планы исправить это? Демонстрация обходного пути, связанная с @sebastianbochan, по- прежнему показывает мне 21 нарушение, связанное с событием.

Screen Shot 2019-11-28 at 11 22 40

Привет @pjanaya

К сожалению, у нас еще не было времени расставить приоритеты.

@pawelfus Хорошо, спасибо. Может быть, вам стоит подумать об удалении метки «Есть обходной путь»? Поскольку, по крайней мере, для меня, обходного пути кажется недостаточно для устранения ошибок.

Внутреннее примечание:
Это общая проблема, а не только Highstock. Нам нужно проверить правильность всех предупреждений, иногда нам действительно нужен preventDefault() а иногда мы не можем обещать, что разработчик не вызовет preventDefault() через один из обратных вызовов.

Привет всем, есть ли обновления по этому поводу?

Привет @ dave-brown755,
В данный момент мы не работаем над этим делом, поэтому у нас нет новой информации о. Вы пробовали использовать наш обходной путь?

Привет, я не пробовал никакого обходного пути, так как, похоже, был следующий пост с просьбой удалить ярлык обходного пути. Можете ли вы наметить точные шаги, которые необходимо выполнить, чтобы реализовать обходной путь, позволяющий удалить ошибку. Это существенно влияет на производительность браузера для нас. Я не хочу уходить от высоких графиков, но мы не сможем жить с количеством генерируемых ошибок. Надеюсь, ты сможешь помочь. Спасибо, Дэйв.

Спасибо за ваш отзыв! Я добавил inbox label что означает, что билет имеет приоритет.

Привет, есть новости о приоритете заявки?

Привет @ dave-brown755 - этому билету уже присвоен приоритет.

Я тоже жду это исправят
https://piyasa.paratic.com/

Я мог видеть, что заявке был присвоен приоритет, но я спрашивал, что это значит, каково типичное время выполнения заявки, которой был присвоен приоритет?

Это означает, что билет будет получен после завершения текущих заданий. Я ожидаю, что эта проблема будет исправлена ​​в версии 8.1 или 8.0.2.

Я больше не вижу предупреждений в консоли (новейший Chrome 80). Проверено на 3 машинах (Mac и Windows 10). Может ли кто-нибудь подтвердить, возникает ли проблема, и предоставить точные шаги для ее воспроизведения?

Я использую v8.0.2, но все еще вижу это сообщение. :(

Просто поясняющее примечание: была выпущена v8.0.1 (и v8.0.2), а v8.0.3 будет выпущена в ближайшее время из-за других критических ошибок. Не связано с графиком выпуска, который я ожидал, когда сказал, что ожидаю, что проблема будет исправлена ​​в v8.0.2.

@ raf18seb попытался отладить проблему несколько дней назад, но не смог ее воссоздать. Любые подробности (версия для ОС + Chrome) или новая живая демо - очень признательны.

@pawelfus мы также наблюдаем это нарушение в последней версии 8.0.4. Мы откатываемся до версии 5.0.11, где проблемы не существует, но постараемся обновить ее, как только сможем.

@ onur-celik разместил ссылку выше, где присутствует проблема для отладки. https://piyasa.paratic.com/

Я использую Mac с Chrome 80.

image

Благодаря! Я вижу эти две ошибки. Оба события могут быть блокирующими - например, когда вы перемещаете палец по диаграмме, чтобы увидеть всплывающую подсказку, вы не хотите прокручивать страницу. Chrome не должен показывать это нарушение (согласно спецификации, по умолчанию установлено passive: true ..).

@ raf18seb - не могли бы вы еще раз проверить? Может дело в ОС?

Подтверждаю, теперь могу воспроизвести - у меня такие же ошибки в консоли в Windows.

привет, эта проблема решена? какое-нибудь решение этой проблемы? Я сталкиваюсь с той же проблемой при использовании highchart для получения сложных данных из API.

Вопрос пока не решен. На данный момент у нас нет ETA для этого билета, но он находится в нашей группе приоритетных билетов.

хорошо спасибо за ответ

Я также был бы очень признателен за исправление для этого или просто примечание о том, когда оно может быть выпущено.

Рад видеть, что этот вопрос «в процессе» :)

Вы упомянули здесь исправленное. Когда можно будет применить эти изменения в версиях CDN.

Привет, @sharmankita - у вопроса все еще есть ярлык in progress . Значит, это не исправлено, мы все еще работаем над этим.

Привет, есть новости по этому поводу? Есть ли расчетное время прибытия для исправления?

Привет, @violetVo - нет ETA, мы все еще работаем над этим.

Моя личная оценка: в ближайшие две версии должны быть готовы.

Что произойдет, если событие помечено как «пассивное»?

elm.on("touchstart", function(ev) {
  // stuff
}, {
  passive: true // does this option help?
});

Я не уверен, что вы имеете в виду @richardeschloss - не могли бы вы уточнить? Постараюсь по очереди ответить на ваши вопросы:

Что произойдет, если событие помечено как «пассивное»?

См. Описание здесь: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

passive: true // помогает ли эта опция?

Это не будет работать в IE и Safari на iOS.

Павел, похоже, Рафаль исправил это. Я видел PR, который помогает ответить на мой вопрос. Благодарю.

наконец 🥰

Привет,
Спасибо за исправление! Это доступно в версии 8.2.2?

Привет @violetVo v8.2.2 вышла ~ 2 недели назад. Исправление будет доступно в следующем выпуске.

@pawelfus у вас есть сроки выхода следующего релиза? Просто интересуюсь.
Надеюсь, вы и ваша команда в безопасности (re: covid)!

Спасибо @forgivegod , у нас все хорошо 👍 Надеюсь, у тебя тоже все хорошо!

Следующий выпуск должен быть готов в течение нескольких недель.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги