Home >Web Front-end >CSS Tutorial >How Can I Resize an Iframe from a Different Domain Using postMessage?
Attempts to resize an iframe from a different domain can be a challenging task. While using easyXDM serves as an effective fallback for non-HTML5 compliant pages, there are alternative solutions worth considering.
One such solution is utilizing postMessage. This method involves passing the height of the child page to the parent page, which then adjusts the height of the iframe accordingly.
Child Page
<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>
Parent Page
<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>
The above is the detailed content of How Can I Resize an Iframe from a Different Domain Using postMessage?. For more information, please follow other related articles on the PHP Chinese website!