我在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上添加键盘/鼠标侦听器的答案。