【问题标题】:(Javascript) onkeydown doesn't work when press F11 to exit full screen?(Javascript)按F11退出全屏时onkeydown不起作用?
【发布时间】:2021-09-21 10:17:07
【问题描述】:

我使用下面的代码来计算用户按 F11 的次数(在 Chrome 上)。当我按 F11 进入全屏时,变量 countF11 增加 1,但当我按 F11 退出全屏时它不会改变。这是什么原因,有解决办法吗?

var countF11 = 0;

document.onkeydown = function (e) {
    if (e.keyCode == 122) {
        countF11++;
        document.getElementById("status").innerHTML = countF11;
    }
}

【问题讨论】:

  • 这在 Mac 中不起作用,因为它为 F 键分配了不同的功能。 Mac 的全屏组合键是 Ctrl+Cmd+F。
  • 仅供参考:如果可以避免使用.innerHTML(几乎总是如此),请不要使用它,因为它具有安全性和性能影响。由于您使用它设置的字符串甚至不包含任何 HTML,只需使用 .textContent

标签: javascript google-chrome fullscreen onkeydown


【解决方案1】:

Chrome 有意阻止在浏览器处于“全屏模式”时按下 F11 时触发任何键盘事件侦听器。这是为了防止恶意 JavaScript 阻止客户端离开“全屏模式”。

Firefox 没有同样的限制;它会在那里工作得很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-06
    • 1970-01-01
    • 2018-12-10
    • 2018-07-06
    • 2011-09-19
    • 2011-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多