因此在很早之前,梅干曾分享過一篇iframe高度自動延展的小範例,讓iframe會隨著嵌入內容的多寡,而自動的調整iframe的高度,但卻會發現到,現在此方法已效,因此梅干花了點時間研究了一下,目前新的寫法,則是透過iframe相互傳值的方式,來改變iframe的高度,像是梅問題教學網,下方的留言區,就是透過iframe的方式嵌入,因此當有人留言時,則會自動的調整iframe高度!所以有需要的朋友,現在也一塊來看看囉!
iframe.html
<iframe src="source.html" id="myIframe" width="100%"></iframe> <script src="https://code.jquery.com/jquery-2.2.4.min.js"></script> <script> $(function(){ function receiveMessageFromIframePage (event) { var height = ('receiveMessageFromIframePage',event.data.h); console.log(height);//接收source.html頁面所回傳的高度值 $('#myIframe').height(height);//將取得的高度,變更myIframe高度 } window.addEventListener("message", receiveMessageFromIframePage, false);//監聽receiveMessageFromIframePage }); </script>
source.html
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script> <script> $(function(){ var _h = $(document).height();//取得網頁高度 parent.postMessage({ h: _h}, '*');//將高度值,傳到父層 }); </script>
Step1
當完成時,開啟「開發人員工具」並切到console的頁籤,這時就會看到由source.html所回傳的高度值。
Step2
當接收到soruce.html所回傳的高度值後,iframe.html也會自動將值寫回至myIframe的高度中,這時iframe就會依內容自動的延展啦!
#範例展示:
Switch《寶可夢 Z-A》好啦魷怎麼進化?翻轉螢幕即可進化成烏賊王
Cloudflare Drop 拖曳就能部署網站,還可綁定網域與SSL
線上象棋對戰遊戲室|免註冊立即入座,真人即時對戰
樹莓派系統安裝教學|設定 Raspberry Pi OS、SSH 與首次登入
自製 GA4Exact 外掛,讓 WordPress 後台直接查看 GA4 分析報表
解決 WooCommerce Checkout Block 導致金流模組無法顯示的問題