javascript - 使用 Javascript 检测操作系统的可靠方法是什么?

标签 javascript navigator key-events

navigator.userAgent的使用根据 MDN 不建议使用。在我的应用程序中,我希望有一个 del 键的快捷方式。

在 mac del 键(退格键)中,charCode = 8。 在 windows 中 del key charCode = 46.

我想同样对待两个 keyEvents。我目前正在使用 userAgent,但它不可靠,因为该属性可以被欺骗。我想知道了解客户端操作系统的最佳方式是什么。

更多已弃用的导航器属性 navigator.appVersion navigator.platform

/* code objective */
if ((keycode == 8 && os == 'macintosh') || keycode == 46) {
    //This is keyboard shortcut to perform delete
}

最佳答案

依靠 KeyboardEvent.metaKey 和 KeyboardEvent.Backspace 解决了我的问题

完整键值 - https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values

有关详细信息,请参阅:https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key#Key_values

感谢@Teoli2003 的推特回复 - https://twitter.com/Teoli2003/status/663995373766221824

关于javascript - 使用 Javascript 检测操作系统的可靠方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33620846/

相关文章:

javascript - 我可以使用 javascript 来制作 Windows 窗体应用程序的等效项吗?

javascript - 试图在 Phonegap 中调用 navigator.accelerometer

dart - 尝试调用 : ancestorStateOfType(Instance of 'TypeMatcher<NavigatorState>'

java - 快捷键值 java.awt.event.KeyEvent

javascript - 在 AJAX 响应上过滤/使用选择器

javascript - 如何使用 firebase 从 web 向 android 发送推送通知?

dart - 导航器弹出错误直到 : "!_debugLocked' : is not true."

firefox-addon - 在 Firefox 中捕获 OS X 媒体关键事件

javascript - IE 11 中页面加载时 Vimeo 视频白屏问题