2014-09-11 115 views
0

我已经看到关于此问题的其他几个线程,但我无法找到解决我的问题的方法。根据内容动态调整iframe高度

我的代码:

$(window).load(function() { 
    $('iframe').each(function() { 
     $(this).height($(this).contents().find("html").height()); 
    }); 
}); 

说明:在窗口负载,我通过每个页面上的IFRAME循环,把高度依赖于内容。

这对jsfiddle完美,但不在我的网页上。可能有什么错过了?

它是不是跨域。 iframe父级和Iframe在同一个域上定义为

我有一个想法:

我使用的是通过iframe中包含一个附加这个Facebook的图标。我在萤火虫中发现“Permission denied ...”(跨域名)错误。这可能会阻止其他iframe从调整大小?

问候。

+0

'$(窗口).load(函数(){'应该是'$(函数(){'或'$(文件)。就绪(函数(){' – 2014-09-11 10:19:14

+0

@IsmaelMiguel错误,您必须使用'$(window).load(function(){});'否则,您的脚本执行得太早,当您早期执行代码时,图像和Iframe没有准备好。 – Xatenev 2014-09-11 10:49:04

回答

0

好吧,我的想法是正确的,“权限被拒绝...”(跨域)停止了其他代码的工作,就像一个PHP致命错误。所以我只使用find()方法来获取我想要的iframe并调整它。

工作得很好!

我的代码

$(window).load(function() { 
     $(".tx-smileiframe-pi1").find("iframe").each(function() { 
      $(this).height($(this).contents().find(".iframe").height()); 
     }); 
    });