相关疑难解决方法(0)

检测虚拟键盘与硬件键盘

我一直在思考这个问题,我无法想办法解决这个问题.有没有办法检测用户是使用虚拟(软件)键盘还是传统(硬件)键盘?

新的Windows Surface在封面上有自己的键盘,对于Android/iPad,有大量不同的蓝牙键盘.

那么,你们中有人对此有任何意见吗?
我的目标是Android,IOS和Windows平板电脑/手机.


动机:(非常主观)

在开发平板电脑/智能手机的网络应用程序时,我已经认识到在许多情况下使用JavaScript键盘而不是操作系统的软件键盘会更容易.

假设您要输入PIN码.而不是让键盘填满屏幕的一半:

软件(OS)键盘:

|----------------|
|    [ input]    |
|                |
|----------------|
|  1  2  3  4  5 |
|  6  7  8  9  0 |
|----------------|
Run Code Online (Sandbox Code Playgroud)

JavaScript键盘:

|----------------|
|    [ input]    |
|    | 1 2 3|    |
|    | 4 5 6|    |
|    |_7_8_9|    |
|                |
|                |
|----------------|
Run Code Online (Sandbox Code Playgroud)

如果您需要处理大量输入,可能需要对输入进行叠加div并使用软件键盘:

|----------------|
| P1 P2    P3 P4 |
| [inp 1][inp 2] |
|----------------|
|    KEYBOARD    |
|                | …
Run Code Online (Sandbox Code Playgroud)

javascript keyboard jquery virtual tablet

34
推荐指数
2
解决办法
2万
查看次数

如何使用javascript检测触摸设备浏览器与桌面?

检测触摸设备(智能手机和平板电脑)与使用userAgent.match的桌面浏览器并返回布尔变量(例如'isipad')的代码是什么?

我需要主要针对Android和Apple设备进行测试.如果设备浏览器是Android或Apple,则返回isipad = false.否则,返回isipad = true.

到目前为止,我这样做了(对于iDevice浏览器检测):

if( navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i) ||navigator.userAgent.match(/iPad/i) )
{var isipad = true;}
else
{var isipad = false;}
Run Code Online (Sandbox Code Playgroud)

它似乎工作,但我希望能够添加Android浏览器,在这种情况下.

提前致谢.亚历克斯

javascript user-agent browser-detection device-detection

2
推荐指数
1
解决办法
1万
查看次数