我使用的是Chrome DevTools,正在查看element标签页中的事件侦听器。当考虑的元素不在iframe中时,它工作得很好--但是当它在iframe中时,事情就有点不稳定了。我该如何解决这个问题呢?提前感谢
编辑:我忘了说了,这不是我的网站
发布于 2019-11-17 11:53:10
这是一个跨源iframe的安全问题。如果你拥有该iframe内的域名,那么它应该工作得很好。Working example for same-origin iframes
(来自该站点的代码粘贴在下面)
const iframe = document.getElementsByTagName('iframe')[0]; // grab a reference
iframe.contentWindow.document.getElementsByTagName('body') // here's the body!如果您在一个iframe上执行上述代码,而该iframe的域与您当前所在的页面不同,那么您将得到如下所示的CORS错误

一个变通方法是,如果你在框架内有一个脚本,并使用类似postMessage的东西,你可以将你想要的信息广播到嵌入iframe的父窗口中。这需要与你嵌入域名的公司/网站合作,这显然需要一定程度的信任,以确保你不会做任何恶意的事情。
如果你仔细想想,这可能存在的原因之一是,如果你正在嵌入另一个网站的登录页面,你不能添加事件侦听器和窃取用户的登录。
希望这能有所帮助!
https://stackoverflow.com/questions/58897245
复制相似问题