从父级JavaScript访问跨域IFrame DOM属性

Mic*_*l M 7 javascript iframe cross-domain

已经有一些类似的问题,但它们倾向于涵盖从孩子到父母的关系.

另一方面,我希望能够获得IFrame DOM的一些属性.我不想操纵任何东西.我只希望能够读取属性或DOM节点.属性或内容之类的东西.

AFAIK这是不可能的,除非我使用类似的东西window.postMessage.与此解决方案一样合理,它基于事件监听器.这需要在IFrame中定义一个监听器,这意味着要更改IFrame的代码.我想避免这种情况.

如果您想进行跨域Ajax调用,您可以(如果您也有访问权限)设置目标服务器的标头以允许:

Access-Control-Allow-Headers:X-Requested-With
Access-Control-Allow-Methods:POST,GET,DELETE,PUT,OPTIONS
Access-Control-Allow-Origin:*
Run Code Online (Sandbox Code Playgroud)

有趣的是,这对于与IFrame的通信不起作用.所以我的问题是:

(如何)我可以访问跨域IFrame的DOM属性?

Gre*_*ida 2

我什至无法告诉你我遇到过多少次这样的问题。

阅读此社区 wiki,了解如何规避同源策略,找到适合您的解决方案。它是我在互联网上找到的最好的同源资源之一。

yayQuery的 Alex Sexton还制作了一些不同方法的截屏视频