In front-end development, we often need to deal with IFRAME. Sometimes we want IFRAME to adapt to the height of the content so as not to show annoying scroll bars. The following code can help you implement similar functions.
$(document).ready(function() { // Set specific variable to represent all iframe tags. var iFrames = document.getElementsByTagName('iframe'); // Resize heights. function iResize() { // Iterate through all iframes in the page. for (var i = 0, j = iFrames.length; i < j; i++) { // Set inline style to equal the body height of the iframed content. iFrames[i].style.height = iFrames[i].contentWindow.document.body.offsetHeight + 'px'; } } // Check if browser is Safari or Opera. if ($.browser.safari || $.browser.opera) { // Start timer when loaded. $('iframe').load(function() { setTimeout(iResize, 0); } ); // Safari and Opera need a kick-start. for (var i = 0, j = iFrames.length; i < j; i++) { var iSource = iFrames[i].src; iFrames[i].src=""; iFrames[i].src = iSource; } } else { // For other good browsers. $('iframe').load(function() { // Set inline style to equal the body height of the iframed content. this.style.height = this.contentWindow.document.body.offsetHeight + 'px'; } ); } });
Source: http://bbs.html5cn.org/forum.php? MoD = viewthread & tid = 11622 & extra =