Подтвердить что ты не робот

Веб-просмотр Chrome App и распространение прокрутки сенсорного экрана

Я вхожу в счастливую позицию по замене приложения Windows 8 Metro приложением Chrome. В настоящее время он должен имитировать внешний вид приложения Metro. Основная страница состоит из нескольких веб-представлений, расположенных горизонтально с большим количеством горизонтальной прокрутки. У меня возникла проблема при прокрутке по горизонтали с помощью сенсорного устройства. Если жест прокрутки начинается с веб-просмотра, он захватывает событие прокрутки и предотвращает прокрутку хоста. Переполнение скрыто во всех веб-просмотрах. Поскольку они составляют основную часть содержимого на странице, то допустимые цели прокрутки для хоста ограничены.

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

Любые идеи о том, как это можно достичь?

Спасибо за вашу помощь!

4b9b3361

Ответ 1

Я собираюсь взять здесь пару вещей:   Стилизация приложения Chrome аналогична стилизации веб-страницы.   Ваше текущее решение прокрутки основывается на использовании переполнения: скрытое и использование JavaScript только для прокрутки.

Я установил что-то подобное один раз для страницы. Странно, но я узнал, что для сенсорных устройств полоса прокрутки невидима, если пользователь не взаимодействует с ней. Если вы измените стиль на overflow-x: прокрутите... появится полоса прокрутки (и вам придется иметь дело с этим позже для рабочего стола с помощью Modernizr или каким-то другим способом обнаружить сенсорное устройство). Затем закомментируйте свой прокручиваемый код (временно, конечно, потому что вам понадобится его для не касания). Если он прокручивается с изменением переполнения и скроллическим изменением, то все, что вам нужно сделать дальше, - обнаружить сенсор и условно включить script и соответствующим образом изменить переполнение.

Ответ 2

Если вы можете использовать jQuery для его достижения, сделайте это так, когда курсор не находится поверх веб-просмотров, он применит событие прокрутки к самой странице.