你可以通過獲取iframe的大小來做到這一點,並做出相應的調整;
<script type="text/javascript">
function resizeIframe() {
var iframe = document.getElementById('myframe');
if(iframe) {
iframe.height = iframe.contentWindow.document.body.scrollHeight + "px";
iframe.width = iframe.contentWindow.document.body.scrollWidth + "px";
}
}
</script>
而在你的框架;
<iframe id="myframe" src="http://example.com" scrolling="yes" marginwidth="0" marginheight="0" frameborder="0" vspace="0" hspace="0" onload="resizeIframe()"></iframe>
更新:跨域
如果加載iframe網址是不是您的域名不同,你會得到權限錯誤由於CORS。您需要爲您的域名授予iframe域名的許可權。說吧;
的iframe域:http://example.com
您的域名:http://yourdomain.com
iframe中域,阿帕奇的conf,你需要設置裏面頭<Directory>
,<Location>
,<Files>
或<VirtualHost
>;
Header always append Access-Control-Allow-Origin: "example.com"
如果域名不是您的,您可以使用iframe-resizer。簡單地說,添加這個庫並運行;
iFrameResize();
你不能根據動態URL設置高度。 –
您可以在iframe內容加載上進行設置。看到我的答案[這裏](http://stackoverflow.com/questions/23557933/how-to-set-iframe-height-on-the-bases-of-the-given-url-height/23558028#23558028) –