Веб-просмотр Chrome App и распространение прокрутки сенсорного экрана
Я вхожу в счастливую позицию по замене приложения Windows 8 Metro приложением Chrome. В настоящее время он должен имитировать внешний вид приложения Metro. Основная страница состоит из нескольких веб-представлений, расположенных горизонтально с большим количеством горизонтальной прокрутки. У меня возникла проблема при прокрутке по горизонтали с помощью сенсорного устройства. Если жест прокрутки начинается с веб-просмотра, он захватывает событие прокрутки и предотвращает прокрутку хоста. Переполнение скрыто во всех веб-просмотрах. Поскольку они составляют основную часть содержимого на странице, то допустимые цели прокрутки для хоста ограничены.
Содержимое веб-просмотра является интерактивным, поэтому я не могу уйти с размещением прозрачного оверлея над прокручиваемым контентом для захвата события, по крайней мере, не так, чтобы каким-либо образом распространять клики/касания к самому веб-просмотру.
Любые идеи о том, как это можно достичь?
Спасибо за вашу помощь!
Ответы
Ответ 1
Я собираюсь взять здесь пару вещей: Стилизация приложения Chrome аналогична стилизации веб-страницы. Ваше текущее решение прокрутки основывается на использовании переполнения: скрытое и использование JavaScript только для прокрутки.
Я установил что-то подобное один раз для страницы. Странно, но я узнал, что для сенсорных устройств полоса прокрутки невидима, если пользователь не взаимодействует с ней. Если вы измените стиль на overflow-x: прокрутите... появится полоса прокрутки (и вам придется иметь дело с этим позже для рабочего стола с помощью Modernizr или каким-то другим способом обнаружить сенсорное устройство). Затем закомментируйте свой прокручиваемый код (временно, конечно, потому что вам понадобится его для не касания). Если он прокручивается с изменением переполнения и скроллическим изменением, то все, что вам нужно сделать дальше, - обнаружить сенсор и условно включить script и соответствующим образом изменить переполнение.
Ответ 2
Если вы можете использовать jQuery для его достижения, сделайте это так, когда курсор не находится поверх веб-просмотров, он применит событие прокрутки к самой странице.