如何在`iframe`上添加事件监听器?

时间:2018-03-09 23:24:40

标签: javascript iframe

我在html中定义了一个iframe,并希望在其上添加键盘监听器。以下是代码:

const iframe = $(myId).find('iframe')[0];
iframe.requestFullscreen();
$(iframe)[0].contentWindow.document.keydown((e) => console.log('keydown', e));

它使iframe全屏并附加keydown事件。全屏工作正常,但我遇到Uncaught DOMException: Blocked a frame with origin "http://localhost:8080" from accessing a cross-origin frame.错误。我认为这是一个浏览器政策,但我想知道我是否可以摆脱它。如果没有,有没有办法让我添加iframe密钥事件控制?

我查过这篇文章:

SecurityError: Blocked a frame with origin from accessing a cross-origin frame

它回答了我的部分问题。如果我可以在iframe中捕获键盘事件,那么我可以使用该帖子中提到的方法来解决main和iframe窗口问题之间的消息通信。但我找不到如何在iframe上添加键盘/鼠标侦听器的答案。

0 个答案:

没有答案