9

ユーザーが物理キーボードを持っているかどうかを検出する最も信頼できる方法は何ですか?

アイデアは、物理的なキーボードwindow.onkeydownがないためundefined(の代わりにnull)できるということです。しかし、仮想キーボードのため、そうではないと思います。私はテストしませんでした。

私の目標は、ユーザーがキーボードを持っていない場合にinput[type='number']オンライン タイマーをホイール ピッカーに置き換えることです。

4

4 に答える 4

4

私は2つのアプローチを見ています。

最初のアプローチは、すべてのマウスとキーボードのイベントをリッスンすることです。マウスを持っているユーザーは、キーボードも持っている可能性があります。Web サイトにアクセスするユーザーは、マウスを動かす可能性があります。

2 番目の方法は、ユーザー エージェントをチェックして実行中のオペレーティング システムを読み取り、Android および iOS デバイスにキーボードがないと想定することです。Windows 8 の場合、Windows 8 はタブレットとデスクトップ/ノートブックの両方で実行されるため、ユーザー エージェントがどのように役立つかわかりません。

ただし、よりエレガントなソリューションが必要です。

于 2013-04-24T22:06:30.420 に答える
1

タッチスクリーンを検出して特別なウィジェットを表示する方が信頼性が高くなります。アクセシビリティのために、派手なウィジェットでキーボードが引き続き使用できることを確認してください。

于 2013-04-24T22:28:03.650 に答える
1

オペレーティング システムや画面のサイズを確認することで、キーボードの種類を判断できる場合があります。Android、iOS、および画面が小さいすべてのデバイスには、物理​​キーボードがない傾向があります。

于 2018-01-28T23:28:57.533 に答える