Javascript 有没有一种方法可以使键控侦听器即使在关注外部iframe时也能工作?

Javascript 有没有一种方法可以使键控侦听器即使在关注外部iframe时也能工作?,javascript,Javascript,我正在制作一个带有键盘导航的简单浏览器游戏 问题是,我在网站上有iframe,当用户单击其中一个iframe时,除非用户再次在iframe之外单击,否则检测按键的主体事件根本不起作用 无论用户是否单击外部iframe,是否有方法检测按键 谢谢否。您无法在外部iframe 一般来说,任何脚本事件都不能在外部iframe中运行,这是出于设计 只要想一想恶意用户可能会有这样一个安全漏洞。如果它是同一个域,您可能会在iframe和窗口上注册事件 如果它跨越了不同的域,而您在这两个地方都无法访问它,那么就

我正在制作一个带有键盘导航的简单浏览器游戏

问题是,我在网站上有iframe,当用户单击其中一个iframe时,除非用户再次在iframe之外单击,否则检测按键的主体事件根本不起作用

无论用户是否单击外部iframe,是否有方法检测按键


谢谢

否。您无法在外部
iframe

一般来说,任何脚本事件都不能在外部
iframe
中运行,这是出于设计


只要想一想恶意用户可能会有这样一个安全漏洞。

如果它是同一个域,您可能会在iframe和窗口上注册事件

如果它跨越了不同的域,而您在这两个地方都无法访问它,那么就没有了

如果您可以访问这两个域,那么您可以使用一些哈希标记通信,或者使用其他路由之一进行跨域通信。基本上,您将在iframe和window中注册事件,并在事件发生时简单地调用windows事件

另一个解决方案 尽管可能是邪恶的,但您可以执行以下操作的一些变体

setTimeout(function(){
  document.body.focus() 
}, 100 );
我也不确定它是如何跨浏览器的