By accident, I just pressed the play/pause (▶/❚❚) button on my keyboard (the button just above Num Lock on , while playing a YouTube video in a tab that was not focused. To my massive surprise, the YouTube video paused immediately.
现在,我尝试查找它是如何工作的,但我无法在互联网上找到任何解释如何检测此类按键的按键的信息。我尝试跑步onkeydown = function(e) {console.log(e)}
在我的控制台中,但按播放/暂停按钮没有触发任何事件。还,https://keycode.info/也没有给我任何帮助。我确实找到了http://www.kbdedit.com/manual/low_level_vk_list.html其中列出了很多“虚拟按键代码”,其中包括VK_MEDIA_PLAY_PAUSE
,这可能是我按下的键,但我没有找到任何方法来用它触发 JS 中的事件。
现在我确实想指出,此功能似乎在 Firefox 中不起作用,仅在 Chrome 中起作用(据我测试)。这可能仍处于实验阶段,但我真的很想知道 YouTube 使用什么系统来捕获此事件,即使选项卡当前未打开(Chrome 目前甚至没有关注)
PS:我在Ubuntu 18.04上经历过这个;例如,我不确定这是否适用于 Windows。
From Google Chrome 媒体会话示例:
/* Media navigation Action handlers */
navigator.mediaSession.setActionHandler('previoustrack', function() {
console.log('> User clicked "Next Track" icon.');
});
navigator.mediaSession.setActionHandler('nexttrack', function() {
console.log('> User clicked "Next Track" icon.');
});
navigator.mediaSession.setActionHandler('play', function() {
log('> User clicked "Play" icon.');
// Do something more than just playing audio...
});
这些 chrome api 在 chrome 57+ 和 Firefox 82+ 上可用
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)