iframe resizing with scrollheight in chrome/safari

html, iframe, javascript, resize

Solution

Before you ask for the height of the document inside the iframe you should set the height of the iframe object to "auto". Something like this:

objIframe = document.getElementById('theIframeId');    
objIframe.style.height = 'auto';

And now:

document.body.scrollHeight

returns the actual height of the document.

Problem

I'm trying to resize (make bigger or smaller) an iframe based on it's contents. After a click on each page a method is called which does the resizing. In Chrome I can make the iframe bigger, but not smaller. document.body.scrollHeight is always the biggest value. So if one big page sets #iframe.height = '620px', and someone clicks on a link to page with less content scrollHeight will remain at 620px instead of decreasing. What's the proper way of handling this in Chrome/Safari?

Original source