KeyboardLayoutMap - 用于检索与特定物理键相关联的字符串

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

KeyboardLayoutMapKeyboard 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 初始定义。

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持69 不支持 不支持 不支持55 不支持
entries69 不支持 不支持 不支持56 不支持
forEach69 不支持 不支持 不支持56 不支持
get69 不支持 不支持 不支持56 不支持
has69 不支持 不支持 不支持56 不支持
keys69 不支持 不支持 不支持56 不支持
size69 不支持 不支持 不支持56 不支持
values69 不支持 不支持 不支持56 不支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持 不支持 不支持 未知 不支持 未知48 不支持
entries 不支持 不支持 未知 不支持 未知48 不支持
forEach 不支持 不支持 未知 不支持 未知48 不支持
get 不支持 不支持 未知 不支持 未知48 不支持
has 不支持 不支持 未知 不支持 未知48 不支持
keys 不支持 不支持 未知 不支持 未知48 不支持
size 不支持 不支持 未知 不支持 未知 不支持 不支持
values 不支持 不支持 未知 不支持 未知48 不支持