iframe高度自適應
阿新 • • 發佈:2017-08-09
borde 16px div 後者 size 我們 第一次用 一次 edit
第一次用iframe標簽代替ajax異步刷新去做後天管理系統,發現iframe的確是個好東西。但有個最大的問題就是——高度不能自適應,要麽設置死,要麽用js去動態獲取目標資源body的height並改變iframe的height。我們往往使用後者去自適應高度,這樣的動態改變也有很多種方法——js和jQuery的。對於有選擇強迫癥的人來說,選一種通用的就行。
HTML部分:
1 <div class="edit-content-iframe"> 2 <iframe src="login_M.html" id="iframe" name="iframe" frameborder="0" scrolling="no" width="100%" ></iframe> 3 </div>
jQuery部分:
1 <script> 2 //同域ifram高度自適應 3 $("#iframe").on(‘load‘,function(){ 4 //獲取iframe內容高度h 和 包裹元素距定位父元素的的距離h_ 5 var h = $(this).contents().find(‘body‘).height(), 6 h_ = $(window).height() - $(‘.edit-content-iframe:eq(0)‘).offset().top;7 8 //iframe高度至少填滿屏幕剩余部分 9 if(h < h_){ 10 h = h_; 11 } 12 $(this).height(h); 13 });14 </script>
這樣就ok了!
補充一句,這裏的高度自適應只能用於同域,非同域情況將會失敗!
iframe高度自適應