【发布时间】:2013-11-23 01:35:12
【问题描述】:
我正在使用 AppGyver 的 SteroidsJS(本质上是具有增强性能和原生 UI 的 PhoneGap)来创建 Web 应用程序。我注意到当我双击一个元素时,它会滚动到该元素,即使我禁用了 WebView 过度滚动。这是一个问题,因为如果 WebView 内容比屏幕尺寸短,我什至无法向上滚动。有解决办法吗?谢谢!
【问题讨论】:
标签: javascript ios cordova webview
我正在使用 AppGyver 的 SteroidsJS(本质上是具有增强性能和原生 UI 的 PhoneGap)来创建 Web 应用程序。我注意到当我双击一个元素时,它会滚动到该元素,即使我禁用了 WebView 过度滚动。这是一个问题,因为如果 WebView 内容比屏幕尺寸短,我什至无法向上滚动。有解决办法吗?谢谢!
【问题讨论】:
标签: javascript ios cordova webview
关于PhoneGap的点击延迟和双击问题已经有一些讨论。例如,检查这个 StackOverflow 线程:Phonegap iOS app screen slides up on double tap
我也一直在尝试解决这个问题,以下是我尝试过的一些方法:
IOS 这是专门针对 IOS 的。尝试修改您的 /config.xml 文件以将“DisallowOverscroll”更改为 true。
<preference name="DisallowOverscroll" value="true" />
HTML 解决方案:这可能是单页网络应用的解决方案。检查您的应用的视口元标记。常见的约定是从设备推断视口的宽度和高度,例如
<meta name="viewport" content="width=device-width, height=device-height"> 我发现这可以在浏览器区域中留出一些额外的空间。硬编码设备的屏幕尺寸为我解决了这个问题。例如,<meta name="viewport" content="width=1024, height=768">
为 html 页面上的任何画布元素添加相同的尺寸。<canvas width=1024, height=768" ...> 这种方法似乎很有效,至少在我的 iPad 上是这样。Javascript/JQuery: 上面的 StackOverflow 链接专门讨论了 jQuery 方法。这意味着使用以下要点有效地解释双击事件:https://gist.github.com/johan/2047491,然后从您的 web 应用程序中适当地调用事件处理程序,例如
$("body").nodoubletapzoom(); 我在这方面没有取得太大的成功。【讨论】: