超越iframe

时间:2009-01-16 16:14:24

标签: html iframe

我想让iframe B与网站A进行通信。 我进行了搜索和搜索,我读到的每一件事都表明,如果它们属于不同的域(iframe src来自子域),那是不可能的。

我想要沟通,因为我的公司在其网页上有广告,并且需要每隔X分钟刷新一次。如果它是正常的添加,这是可以的,但有些增加了扩展。就像我添加的那样,从300x250开始,然后达到800x300。 我想与iframe沟通以了解添加内容何时扩展,但它似乎不是一种方式。有没有办法让添加超出iframe的初始大小?

如果添加量是300x250,那么iframe也会有300x250,但是当添加扩展时它会被切断,所以我真的需要让iframe扩展,或者让add超出iframe的大小。< / p>

任何人都知道如何执行此操作,或者有一些教程说明如何与iframe进行一些基本的通信。

注意:有些网站也提供了具有完全不同域名的添加内容,因此如果有人知道如何使其超越iframe,那就太棒了。

由于

4 个答案:

答案 0 :(得分:2)

如果您希望两个iframe进行通信,并且您说其中一个位于不同的子域但相同的顶级域,则可以执行帧间脚本编写。请参阅http://ajaxian.com/archives/how-to-make-xmlhttprequest-calls-to-another-server-in-your-domain

诀窍是将页面A和B都设置为

document.domain = 'SameTopLevelDomain.com';

然后浏览器会让页面进行通信(例如从其他人那里获取数据,调用函数等)。

但是,如果两个页面完全位于不同的域中,则必须采用服务器端代理方法,如前所述。

答案 1 :(得分:1)

出于安全原因,您无法跨越iframe边界,如果可能,您可以直接将登录凭据窃取到任何网站。

但是,您可以创建服务器端代理,这会将每个查询从iframe重定向到广告服务器。这样你的iframe实际上可以在同一个域(或子域)中拥有源

答案 2 :(得分:0)

也许我的回答Cross-site AJAX requests会对你有帮助。

答案 3 :(得分:0)

有一种方法可以使用iframe进行跨域通信,在Resizing an Iframe based on content的答案中有所描述。

许多广告服务公司通过iframe在您的网站上提供横幅广告,并使用上述答案中列出的技术确保iframe可以扩展到广告素材的完整所需尺寸。