2016-09-06 15 views
6

私が開発した過去のモバイルアプリでは、すべての端末でclickイベントが期待どおりに機能しないことが判明しました(例:ユーザーが画面上ですばやくタップ/クリックしなければならないゲームclickイベントをトリガーするのではなく、ダブルクリックが発生した)、touchstartを使用すると、私が望んだ結果に対してより良い結果が得られました。モバイルアプリの廃止予定操作

その後、私はclickの代わりにtouchstartイベントを聞き始めました。しかし、Chromeでテストし、私はJSコンソールに次の警告メッセージが表示されました:

は詳細については廃止され、10月2016参照https://www.chromestatus.com/features/5649871251963904の周りに、M54に削除されますtouchstartイベントに明示的なユーザーとの対話が必要な操作を実行します。から(私のアプリはどれも持っていない)

は、私がリンクされたページ(およびその内部リンク)を訪問し、この新しい動作は、特定の不必要な行動を避けるためであると思われ、特にサードパーティ iframesまたは広告を避けるために、ポップアップを開く。私はイベントを touchendに変更しようとしました( " のtouchendイベントはのように振る舞い続けます")が、同様の警告メッセージを受け取りました。

そして、私の質問:

  • はChromeのみに影響し、このものですか、それは、AndroidとiOSのために(コルドバ/ PhoneGapのと)私のWebアプリケーションに影響を与えるのだろうか?
  • touchstartを置き換えて、私が過去に直面した問題を回避するために、どのようなイベントを使用すべきですか?私はclickに戻ることができますが、速いクリック/タップは依然として問題になります。

答えて

4

Cordovaアプリを作成する際に、異なるOSバージョンを対象としています。Android 5以降ではChromiumに基づいてウェブビューを自動更新しているため、問題がアプリに影響する可能性があります。

クロム32以降、このビューポート<meta name="viewport" content="width=device-width">を使用すると、クリック遅延がなくなるため(this article参照)、安全にclickイベントを使用できます。アンドロイド5と6の最新webviewsは、あなたはまた、それが

必要だだけクリック遅延を「修正」します fastclickライブラリを使用することができますクロム52

に基づいています

関連する問題