首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取与iframe中的元素相关联的事件?

如何获取与iframe中的元素相关联的事件?
EN

Stack Overflow用户
提问于 2019-11-17 11:29:25
回答 1查看 48关注 0票数 0

我使用的是Chrome DevTools,正在查看element标签页中的事件侦听器。当考虑的元素不在iframe中时,它工作得很好--但是当它在iframe中时,事情就有点不稳定了。我该如何解决这个问题呢?提前感谢

编辑:我忘了说了,这不是我的网站

EN

回答 1

Stack Overflow用户

发布于 2019-11-17 11:53:10

这是一个跨源iframe的安全问题。如果你拥有该iframe内的域名,那么它应该工作得很好。Working example for same-origin iframes

(来自该站点的代码粘贴在下面)

代码语言:javascript
复制
const iframe = document.getElementsByTagName('iframe')[0]; // grab a reference
iframe.contentWindow.document.getElementsByTagName('body') // here's the body!

如果您在一个iframe上执行上述代码,而该iframe的域与您当前所在的页面不同,那么您将得到如下所示的CORS错误

一个变通方法是,如果你在框架内有一个脚本,并使用类似postMessage的东西,你可以将你想要的信息广播到嵌入iframe的父窗口中。这需要与你嵌入域名的公司/网站合作,这显然需要一定程度的信任,以确保你不会做任何恶意的事情。

如果你仔细想想,这可能存在的原因之一是,如果你正在嵌入另一个网站的登录页面,你不能添加事件侦听器和窃取用户的登录。

希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58897245

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档