当前位置: 首页 > 面试题库 >

获取跨域iframe的DOM内容

宓毅庵
2023-03-14
问题内容

我有一个用于跨域网站的iframe。我想读取iframe的DOM,我相信这是可能的,因为使用检查器,我什至可以修改iframe的DOM。但是,无论尝试哪种方式,我都会遇到相同的原始策略。我想要的只是从iframe加载到本地DOM中的内容。我以为它就像一样简单$(document.body).find('iframe').html(),但是返回的是空字符串。

我真的希望有一种方法可以这样做,因为我最近几天一直在做的工作是基于这种可行的方法。

谢谢


问题答案:

你不能XSS保护。跨站点内容无法用javascript读取。没有主流的浏览器会允许您这样做。很抱歉,但这是设计缺陷,您应该放弃主意。

编辑

请注意,如果您拥有对加载到iframe中的网站的编辑权限,则可以使用postMessage



 类似资料:
  • 我想知道如何在Firefox WebExtension中访问和修改JavaScript中跨域iframe的内容。我理解普通JavaScript的局限性,也理解修改跨域iframe将是XSS漏洞,但我相信在我找不到的WebExtension中有某种方法可以做到这一点。我相信这是因为遗留扩展清单在权限部分中有允许跨域内容的选项。 当查看FireFox扩展的旧版本的旧代码时,似乎可以选择某些网站的跨域内

  • 本文向大家介绍JS未跨域操作iframe里的DOM,包括了JS未跨域操作iframe里的DOM的使用技巧和注意事项,需要的朋友参考一下 这里简单说明两个方法,都是未跨域情况下在index.html内操作b.html内的 DOM。 如:index.html内引入iframe,在index内如何用JS操作iframe内的DOM元素? 先贴下index.html和iframe引入的a.html内容。 a

  • 问题内容: 我看到了一些使用Ajax进行跨域的示例,但是它不起作用。 我尝试使用chrome并给出以下错误: 问题答案: 您无法使用,因为它会进行ajax调用,该调用将是跨源的,因此被Same Origin Policy 阻止,并且您尝试访问的Twitter API不支持跨源资源共享(或者如果它支持,允许,它不允许原点或,这是我尝试过的)。 该API确实支持JSONP(这不是真正的Ajax调用),

  • 问题内容: 我想将iframe中的内容的背景颜色设为黑色和将文本颜色设为白色,这是因为其默认设置为普通的白色背景和黑色文本。iframe src属性指向我无法访问或无法在该域中放置任何文件或样式表的其他域。因此,考虑到这些条件,是否有可能仅在iframe内容中进行这些样式更改? 问题答案: 唯一的可能性是通过您的代理加载iframe内容并修改HTML内容。您无法通过JavaScript从其他域访问

  • 问题内容: 可以说,我有一个名为example.com的网站,在该网站上嵌入了iframe.net域的iframe,现在我想读取iframe的内容并传递一些参数以显示文本消息。像Hi和用户名一样。 现在的问题是,这无法在两者之间建立连接,甚至无法获得我使用以下方法使用的iframe的innerHTML 它将引发错误“权限被拒绝访问属性” 有谁知道如何在跨域平台中读写 问题答案: 如果您无法控制框架

  • 问题内容: 可以说,我有一个名为example.com的网站,在该网站上嵌入了iframe.net域的iframe,现在我想读取iframe的内容并传递一些参数以显示文本消息。像Hi和用户名一样。 现在的问题是,这无法在两者之间建立连接,甚至无法获得我使用以下方法使用的iframe的innerHTML 它将引发错误“权限被拒绝访问属性” 有谁知道如何在跨域平台中读写 问题答案: 如果您无法控制框架