Javascript 获取iFrame的级别/数量

Javascript 获取iFrame的级别/数量,javascript,iframe,cross-domain,Javascript,Iframe,Cross Domain,我有一个带有iframe的网站,还有一个带有另一个iframe的网站,所以它是另一个iframe中的一个iframe(都在不同的域上)。那么有没有办法从父div或父主div的url(parent->child-iframe->child-iframe)获取所有iframe或一些道具的数量呢 谢谢您无法访问不同域上的iFrame内容,这是XSS保护问题。您可以尝试使用新窗口。postMessage()API- window.postMessage()方法安全地启用跨源通信。通常,当且仅当执行不同

我有一个带有iframe的网站,还有一个带有另一个iframe的网站,所以它是另一个iframe中的一个iframe(都在不同的域上)。那么有没有办法从父div或父主div的url(parent->child-iframe->child-iframe)获取所有iframe或一些道具的数量呢


谢谢

您无法访问不同域上的iFrame内容,这是XSS保护问题。

您可以尝试使用新窗口。postMessage()API-

window.postMessage()方法安全地启用跨源通信。通常,当且仅当执行不同页面的页面位于具有相同协议(通常都是https)、端口号(443是https的默认值)和主机(两个页面将modulo Document.domain设置为相同值)的位置时,才允许不同页面上的脚本相互访问。window.postMessage()提供了一种受控机制,可以在正确使用时以安全的方式绕过此限制

你可以在这里找到一个很好的例子-

不。不可能。一旦你跨过origins,我认为这不再是真的了。仍然是真的,你必须控制iframe域和externak代码才能交换消息,问题提到“父div或父主div的url(父->子iframe->子iframe)”只有当OP可以访问所有页面(即,如果他们可以插入postMessage和onmessage脚本)时,这才有效。这篇文章将至少包含一段伪代码,显示如何实现最终结果。