У нас есть приложение Android WebApp, отображающее график, который постоянно прокручивает горизонтально с данными в реальном времени. С каждой секундой данные наметываются на графике, и на графических свитках слева с данными в реальном времени, заполненными справа. График не должен прекращать прокрутку, если пользователь не вмешался вручную или если нет новых данных.
Все сработало, как и ожидалось, как в Android App, так и в веб -браузере, но около месяца назад мы начали видеть проблему специально в Android App & On Chrome Browser на устройстве Android. График застрял случайным образом в определенной точке и не заполняет новые данные, даже если доступны данные в реальном времени. Пользователь может прокрутить график с правым и просмотреть последние данные, но остановки прокрутки графика в реальном времени.
Код: Выделить всё
this.realTimeScrollTimeoutId = setTimeout(() => {
currentElement.scrollTo(currentListInnerElement.cliendtWidth - parentNode.clientWidth);
}
Условие соблюдается и cleartimeout (this.realtimescrolltimeoutid) называется, который останавливает прокрутку в реальном времени. Это условие - Scolloffsetright> = TotalGraphWidth - RealtimeBuffer; . Здесь Scrolloffsetright рассчитывается на основе прокрутки компонента React ref.current, TotalGraphWidth - ref.current.clientWidth. В нормальном сценарии Scolloffsetright == TotalGraphWidth - RealtimeBuffer, как это наблюдается в журналах отладки. Моя догадка - какой -то слушатель событий заставляет закручивание резко измениться, поэтому это условие запускается, но еще не смог найти проблему. < /P>
Любая помощь ценится. Спасибо!
Подробнее здесь:
https://stackoverflow.com/questions/796 ... desktop-br