Javascript и рендеринг приостанавливается и остается на прокрутке в браузере Android - PullRequest
4 голосов
/ 12 июня 2010

Я обнаружил странное поведение, связанное с прокруткой, рендерингом и JavaScript.

Как это сделать:

На любой веб-странице, которая достаточно длинна для прокрутки.Начните прокручивать довольно быстро (перебрасывать страницу).затем отпустите сенсорный.Теперь пока страница все еще прокручивается из-за импульса.Нажмите на экран, чтобы остановить прокрутку.

Это заставит браузер перейти в странный режим.

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

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

На всех телефонах с HTC Sense, которые я пробовал (Hero, Desire, Legend), это происходит:

Обновление экрана останавливается так же, как на Nexus, но и выполнениелюбой javascript остановлен.Если вы нажмете на ссылку, которая приведет вас на другую страницу, то все снова вернется в норму.

Как я это проверял, я создал страницу, подобную этой:

http://pastebin.ca/1881620

Функция changeColor просто изменила цвет фона «контейнера» на несколько разных цветов.

Итак, перед ошибкой происходит то, что при нажатии любой ссылки цвет меняется.

после ошибки это происходит:

Nexus one: когда вы нажимаете на ссылки, ничего не происходит (за исключением того, что «оранжевая ссылка выделена закругленным углом» отображается так, как будто ссылка нажата).Затем, когда вы прокручиваете Abit.Вы можете видеть, что цвет изменился (и столько раз, сколько я нажал на ссылку).

На ощупь: ссылки ведут на google.com

Кто-нибудь ещезаметил эту проблему?Есть ли способ обойти это?

Спасибо.

1 Ответ

0 голосов
/ 15 марта 2012

Вы можете попробовать использовать плагин, который управляет процессом прокрутки браузера, такой как iScroll4 .

iScroll4 позволяет нам делать довольно интересные вещи (например, фиксированные верхние / нижние колонтитулы), но этоу меня были некоторые проблемы с производительностью в некоторых старых / дрянных телефонах Android ...

Я не могу гарантировать, что это решит вашу проблему, и это будет своего рода последнее средство, но это можетстоит попробовать, если вас интересуют другие функции iScroll, или если вы зашли в тупик с вашей ошибкой, и это остановка для вашего приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...