html - ~200ms 触摸(点击)延迟在 Cordova 但不是在浏览器或 PWA

标签 html cordova webview progressive-web-apps

我目前正在将我的网络应用程序转换为 Cordova 应用程序。我遇到了一个奇怪的问题:

在 Safari 中或将我的应用程序添加到主屏幕时,所有触摸输入(点击/触摸)都很快(无延迟)但是当将我的应用程序部署为 Cordova 项目时,输入(点击/触摸)很慢(大约 200 -300 毫秒延迟 - 没有测量只是基于众所周知的触摸延迟问题的估计)。

我正在运行 iOS 12.3 的 iPhone Xs 上进行测试,我正在使用 Cordova 9.0.0 构建应用程序。

应用程序使用以下视口(viewport)设置:

<meta content="width=device-width, initial-scale=1, maximum-scale=1, height=device-height, viewport-fit=cover, user-scalable=no" name="viewport" />

如有任何帮助,我们将不胜感激。

最佳答案

您需要用“touchstart”事件替换“click”事件。您可以通过执行

来检测您是否在 WebView 中
  var click = 'click';

  if(typeof(window.ontouchstart) !== 'undefined'){
        click = 'touchstart';
  }

然后使用 click 变量监听您的点击事件。使用 jQuery

  $('#something').on(click, function(event){...

关于html - ~200ms 触摸(点击)延迟在 Cordova 但不是在浏览器或 PWA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56462031/

相关文章:

javascript - JavaFX : Set default printer for WebEngine/Webview

javascript - 使用 getElementsByClassName 获取直接子元素

javascript - 为什么我的 Google 图表不显示?

android - iOS/Android Phonegap - 智能手机纵向,平板电脑横向

android - Cordova - 在构建时忽略文件夹

javascript - 单行注释会破坏 JavaScript 的执行

ios - 如何存储和访问以前在 WebView 中访问过的站点

html - 为什么字段集中的文本有时在移动设备上显得更大?

html - 基本网页 css 和 html 未加载

jquery - 在phonegap应用程序中无法获取数据(图像和文本)