2009-01-16 58 views
0

我想获得一个iframe B与站点A沟通。 我已经搜索和搜索,我读的每一件事情说,如果他们是不同的域(iframe src是从一个子域)。超越iframe

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

如果添加的是300x250,iframe也会有300x250,但是当add扩展时它会被截断,所以我确实需要让iframe扩展也可以让add增加超出iframe的大小。

任何人都知道如何做到这一点或有一些教程,显示如何与iframe进行一些基本的沟通。

注意:有些网站也提供了一个完全不同的域名,所以如果有人知道如何让它超出iframe,那将是非常好的。

感谢

回答

0

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

许多广告投放公司通过iframe在您的网站上投放横幅广告,并使用上述答案中概述的技术来确保iframe可以扩展至广告素材的全部所需尺寸。

1

你不能越过边界的iframe出于安全原因,这将是简单的窃取你的登录凭据任何网站,如果这将是可能的。

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

+0

这是一个拥有iframe的页面 – AntonioCS 2009-01-16 17:47:24

2

如果你想要两个iframe进行通信,你说一个是在不同的子域,但相同的顶级域,你可以做帧间脚本。见http://ajaxian.com/archives/how-to-make-xmlhttprequest-calls-to-another-server-in-your-domain

诀窍是让页面A和B都设置

document.domain = 'SameTopLevelDomain.com'; 

,然后浏览器将让网页通信(从其他通话功能如抢数据等)。

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