Maison >interface Web >tutoriel CSS >Comment puis-je redimensionner une Iframe d'un domaine différent à l'aide de postMessage ?
Les tentatives de redimensionnement d'une iframe à partir d'un domaine différent peuvent être une tâche difficile. Bien que l'utilisation d'easyXDM constitue une solution de secours efficace pour les pages non conformes à HTML5, il existe des solutions alternatives qui méritent d'être envisagées.
L'une de ces solutions consiste à utiliser postMessage. Cette méthode consiste à transmettre la hauteur de la page enfant à la page parent, qui ajuste ensuite la hauteur de l'iframe en conséquence.
Page enfant
<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>
Page parent
<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>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!