


How Can I Resize an Iframe from a Different Domain Using postMessage?
Resizing 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.
Implementation Details
Child Page
- Calculate the height of the child page using document.getElementById('element_id).scrollHeight.
- Post the height to the parent page using parent.postMessage(actual_height,"*");. The asterisk allows posting to any parent iframe regardless of domain.
<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
- Add an event listener to the parent window to receive the message from the child page. Replace iframe_id with your iframe ID.
- Update the height of the iframe based on the received height.
<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>
Benefits of Using postMessage
- Cross-Domain Communication: postMessage allows communication between different domains, making it suitable for resizing iframes from a different origin.
- Height Calculation: The child page accurately calculates its height and conveys it to the parent page, ensuring proper iframe resizing.
- Simplicity: The implementation is straightforward and requires minimal code modifications.
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











Let’s attempt to coin a term here: "Static Form Provider." You bring your HTML

At the start of a new project, Sass compilation happens in the blink of an eye. This feels great, especially when it’s paired with Browsersync, which reloads

In this week's roundup of platform news, Chrome introduces a new attribute for loading, accessibility specifications for web developers, and the BBC moves

This is me looking at the HTML element for the first time. I've been aware of it for a while, but haven't taken it for a spin yet. It has some pretty cool and

Buy or build is a classic debate in technology. Building things yourself might feel less expensive because there is no line item on your credit card bill, but

In this week's roundup, a handy bookmarklet for inspecting typography, using await to tinker with how JavaScript modules import one another, plus Facebook's

For a while, iTunes was the big dog in podcasting, so if you linked "Subscribe to Podcast" to like:

There are loads of analytics platforms to help you track visitor and usage data on your sites. Perhaps most notably Google Analytics, which is widely used
