Javascript 是否在iframe中捕获所有keypup/keypdown事件?

Javascript 是否在iframe中捕获所有keypup/keypdown事件?,javascript,canvas,dom-events,keyboard-events,Javascript,Canvas,Dom Events,Keyboard Events,我正在开发一个基于画布的游戏,并使用window.addEventListener()全局附加keyup和keydown事件。这在正常查看页面时有效,但在将其嵌入为iframe时有效;它不获取keyup和keydown事件。有更好的方法吗?你不能,除非画面有焦点 您可以做的是在外部窗口上下键以聚焦iframe,或始终以某种方式聚焦iframe,或默认情况下聚焦iframe(可能足够好,但不确定您正在做什么) 但是,如果要在任何窗口(帧或非帧)上使用window向下键,则该帧需要对焦。看起来您可以

我正在开发一个基于画布的游戏,并使用
window.addEventListener()
全局附加
keyup
keydown
事件。这在正常查看页面时有效,但在将其嵌入为iframe时有效;它不获取keyup和keydown事件。有更好的方法吗?

你不能,除非画面有焦点

您可以做的是在外部窗口上下键以聚焦iframe,或始终以某种方式聚焦iframe,或默认情况下聚焦iframe(可能足够好,但不确定您正在做什么)


但是,如果要在任何窗口(帧或非帧)上使用window向下键,则该帧需要对焦。

看起来您可以只执行
var realWindow=window.parent | window并在
realWindow
上使用addEventListener。

仅当嵌入框架的外部页面来自同一域(网站)时,此操作才有效。