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

时间:2011-07-12 14:45:34

标签: 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:*

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

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

2 个答案:

答案 0 :(得分:2)

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

阅读此community wiki以避开同源政策,找到适合您的解决方案。它是我在互联网上找到的最好的同源资源之一。

yayQuery的Alex Sexton也在一些不同的方法上放了一个screencast

答案 1 :(得分:1)

我会给http://easyxdm.net/wp/一个机会 使用它很多次,非常容易使用,也适用于旧版浏览器