Chrome应用程序的webview和触摸滚动传播
我喜欢用Chrome打包的应用程序replaceWindows 8 Metro应用程序。 目前,它需要模仿Metro应用程序的外观和感觉。 主页面包含多个横向排列的网页浏览,可以进行大量的横向滚动。 尝试使用触摸设备水平滚动时遇到问题。 如果滚动手势在web视图上开始,它将捕获滚动事件并阻止主机滚动。 溢出隐藏在所有的网页浏览。 由于它们构成页面上的大部分内容,因此主机的有效滚动目标是有限的。
webview的内容是互动的,所以我不能放弃在可滚动的内容上放置一个透明的覆盖来捕捉事件,至less不是没有某种方式将点击/触摸传播到webviews本身。
任何想法如何实现?
谢谢你的帮助!
我将在这里假设几件事:deviseChrome应用程序的样式与devise网页的样式相似。 您目前的滚动解决scheme依赖于使用overflow:hidden并使用JavaScript来滚动。
我为页面修复了一次类似的东西。 它的奇怪,但我了解到,对于触摸设备,滚动条是不可见的,除非用户与它交互。 如果将样式更改为overflow-x:scroll …将出现一个滚动条(您将需要稍后使用Modernizr或类似的方式来检测启用触摸的设备)。 然后注释掉你的滚动代码(当然是暂时的,因为你需要它非触摸)。 如果它滚动罚款与溢出变化和滚动变化然后所有你需要做的下一步是检测触摸和有条件地打开脚本,适当地改变溢出。
如果您可以使用jQuery来实现它,那么当光标不在 Web浏览器顶部时,就可以将滚动事件应用到页面本身。