может быть немного поздно, так как все остальные ответы старше :-) но ... вот мое решение. Протестировано в реальных FF, Chrome и Safari 5.0.
CSS:
iframe {border:0; overflow:hidden;}
JavaScript:
$(document).ready(function(){
$("iframe").load( function () {
var c = (this.contentWindow || this.contentDocument);
if (c.document) d = c.document;
$(this).css({
height: $(d).outerHeight(),
width: $(d).outerWidth()
});
});
});
Надеюсь, это кому-нибудь поможет.