在 Cordova 中约 200 毫秒触摸(点击)延迟,但在浏览器或 PWA 中没有

c3n*_*try 5 html webview cordova progressive-web-apps

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

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

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

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

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

任何帮助将不胜感激。

Eri*_*ric 3

您需要将“click”事件替换为“touchstart”事件。您可以通过执行以下操作来检测您是否处于网络视图中

  var click = 'click';

  if(typeof(window.ontouchstart) !== 'undefined'){
        click = 'touchstart';
  }
Run Code Online (Sandbox Code Playgroud)

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

  $('#something').on(click, function(event){...
Run Code Online (Sandbox Code Playgroud)