当孩子来自另一个域时更改iframe高度

时间:2012-06-25 09:29:19

标签: javascript jquery iframe cross-domain

我正在使用Facebook应用,Facebook应用需要将您的应用程序放在iFrame中, 一切都很好,除了高度,如果iframe创建是静态的,我想改变iFrame的高度, 我尝试了以下方法:

jQuery(parent.document.body.getElementsByTagName('iframe')).load(function() {
  this.style.height =
  this.contentWindow.document.body.offsetHeight + 'px';
});

但在尝试访问父文档时

parent.document

发生错误

Unsafe JavaScript attempt to access frame with URL  
http://www.facebook.com/somthing/app_100550322222338 from frame with URL 
http://z.me/facebook/whatsnew. Domains, protocols and ports must match.

还有其他解决方案吗?

1 个答案:

答案 0 :(得分:0)

没有客户端脚本解决方案,因为页面和iframe来自不同的域。

如果您在服务器上设置了一个获取Facebook页面的代理页面,那么它们会在浏览器中显示来自同一个域,因此脚本可以正常工作。