检测浏览器是否在网页中有键盘/箭头键

Kev*_*eid 21 javascript android touch mobile-website ios

我有一个HTML + JavaScript的全屏游戏,它使用箭头键作为主要控件.这不能用在无键盘的Android设备上(我还没有在iOS上测试过),即使软键盘上有箭头键,它也会占用不必要的空间.因此,我添加了屏幕控制按钮.但是,桌面浏览器上的按钮是不必要的(并且非常大),所以我希望它们不会弹出,除非需要它们.

我可以使用什么启发法来决定是否需要它们 - 也就是说,用户输入箭头键事件是否不可能或尴尬 - 除了识别特定的用户代理(这是直截了当的,但不是面向未来的)?

我当然会允许用户隐藏/显示按钮; 我正在寻找有用的启发式方法来选择默认设置.

Ash*_*ain 32

无需任何用户代理嗅探,配置选项或任何类型的猜测.这样做:

  1. 有一个标题屏幕,上面写着"按下继续".
  2. 点击或按键,隐藏触摸控制并开始游戏.
  3. 触摸,显示触摸控制并开始游戏.

您甚至不需要向用户提及该选项,并且您可以完美地自动检测其首选控件.

  • 这非常违反直觉,我强烈建议实施它. (2认同)

Sat*_*tya 2

不要尝试猜测,而是将其作为配置选项供用户选择。