KeyboardLayoutMap - 用于检索与特定物理键相关联的字符串
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
KeyboardLayoutMap
是 Keyboard API 的接口,表示类似于 map 的对象,其具有用于检索与特定物理键相关联的字符串的功能。可以在 UI 事件 KeyboardEvent 代码值规范中找到有效键列表。
属性
KeyboardLayoutMap.entries
只读
返回给定对象自己的可枚举属性 [key, value]
对数组,其顺序与 for...in
提供的顺序相同循环(不同之处在于 for-in
循环也枚举了原型链中的属性)。
KeyboardLayoutMap.keys
只读
返回一个新的 Array Iterator 对象,该对象包含数组中每个索引的键。
KeyboardLayoutMap.size
只读
返回 KeyboardLayoutMap
对象中的元素数。
KeyboardLayoutMap.values
只读
返回一个新的 Array Iterator 对象,该对象包含 KeyboardLayoutMap
对象中每个索引的值。
方法
KeyboardLayoutMap.forEach()
只读
为 KeyboardLayoutMap
的每个元素执行一次提供的函数。
KeyboardLayoutMap.get()
返回 KeyboardLayoutMap
对象中具有给定键的元素。
KeyboardLayoutMap.has()
返回一个布尔值,指示 KeyboardLayoutMap
对象是否具有带指定键的元素。
实例
以下示例演示如何获取与英语 QWERTY 键盘上与 “W” 键对应的键相关联的位置或布局特定字符串。
var keyboard = navigator.keyboard;
keyboard.getLayoutMap()
.then(keyboardLayoutMap => {
var upKey = keyboardLayoutMap.get('KeyW');
window.alert('对应的键为 ' + upKey + '。');
}
规范
规范 | 状态 | 备注 |
---|---|---|
Unknown KeyboardLayoutMap 的定义 |
Unknown | 初始定义。 |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 69 | 不支持 | 不支持 | 不支持 | 55 | 不支持 |
entries | 69 | 不支持 | 不支持 | 不支持 | 56 | 不支持 |
forEach | 69 | 不支持 | 不支持 | 不支持 | 56 | 不支持 |
get | 69 | 不支持 | 不支持 | 不支持 | 56 | 不支持 |
has | 69 | 不支持 | 不支持 | 不支持 | 56 | 不支持 |
keys | 69 | 不支持 | 不支持 | 不支持 | 56 | 不支持 |
size | 69 | 不支持 | 不支持 | 不支持 | 56 | 不支持 |
values | 69 | 不支持 | 不支持 | 不支持 | 56 | 不支持 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 不支持 | 不支持 | 未知 | 不支持 | 未知 | 48 | 不支持 |
entries | 不支持 | 不支持 | 未知 | 不支持 | 未知 | 48 | 不支持 |
forEach | 不支持 | 不支持 | 未知 | 不支持 | 未知 | 48 | 不支持 |
get | 不支持 | 不支持 | 未知 | 不支持 | 未知 | 48 | 不支持 |
has | 不支持 | 不支持 | 未知 | 不支持 | 未知 | 48 | 不支持 |
keys | 不支持 | 不支持 | 未知 | 不支持 | 未知 | 48 | 不支持 |
size | 不支持 | 不支持 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |
values | 不支持 | 不支持 | 未知 | 不支持 | 未知 | 48 | 不支持 |