2014-09-11 170 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()); 
     }); 
    });