Rumah >hujung hadapan web >tutorial css >Bagaimanakah Saya Boleh Mengubah Saiz Iframe daripada Domain Berbeza Menggunakan postMessage?
Percubaan untuk mengubah saiz iframe daripada domain berbeza boleh menjadi tugas yang mencabar. Semasa menggunakan easyXDM berfungsi sebagai sandaran yang berkesan untuk halaman yang tidak mematuhi HTML5, terdapat penyelesaian alternatif yang patut dipertimbangkan.
Salah satu penyelesaian sedemikian ialah menggunakan postMessage. Kaedah ini melibatkan pemindahan ketinggian halaman anak ke halaman induk, yang kemudian melaraskan ketinggian iframe sewajarnya.
Halaman Kanak-kanak
<script> function adjust_iframe_height(){ var actual_height = document.getElementById('element_id').scrollHeight; parent.postMessage(actual_height,"*"); //* allows this to post to any parent iframe regardless of domain } </script> <body onload="adjust_iframe_height();"> //call the function above after the content of the child loads </body>
Halaman Induk
<script> // Create IE + others compatible event handler var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent"; var eventer = window[eventMethod]; var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message"; // Listen to message from child window eventer(messageEvent,function(e) { console.log('parent received message!: ',e.data); document.getElementById('iframe_id').height = e.data + 'px'; },false); </script>
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Saiz Iframe daripada Domain Berbeza Menggunakan postMessage?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!