TouchEvent.supported
TouchEvent
タッチ サポートを決定するために を作成しようとします。これは実際のタッチ デバイスでは機能しますが、Chromium DevTools の「Emulate Touch Screen」を使用する場合は役に立ちません。Chromium は関数Touch()
とTouchList()
ウィンドウ オブジェクトを公開します。context['Touch']
現在表示されているチェックを追加しましたsupportsTouchEvent: true
。「Emulate Touch Screen」がアクティブかどうかの指標にはなりません。どんな提案でも大歓迎です!
//bool get supportsTouchEvents =>TouchEvent.supported;
bool get supportsTouchEvents {
bool bIsTouchSupported = TouchEvent.supported;
if (bIsTouchSupported == false) {
//Get the browser's native window and check for Touch function
JsObject nativeTouch = context['Touch'];
bIsTouchSupported = (nativeTouch is JsObject);
//Check Chromium DevTools "Emulate Touch Screen"
}
return bIsTouchSupported;
}
Update-1: context['Touch'] 関数の追加チェックにより、タッチ処理が可能であるというより多くの洞察が得られます。ただし、DevTools ウィンドウが開かれるまで「エミュレーション」がアクティブにならないため、これは誤検知です。肥大化した代替手段として: nativeTouch の場合、マウスとタッチの両方のストリーム コントローラー/ハンドラーをインストールします。