別のドメインからの iframe のサイズを変更しようとすると、困難な作業になる可能性があります。 easyXDM の使用は HTML5 非準拠ページの効果的なフォールバックとして機能しますが、検討に値する代替ソリューションもあります。
そのようなソリューションの 1 つは、postMessage を利用することです。このメソッドでは、子ページの高さを親ページに渡し、それに応じて iframe の高さを調整します。
子ページ
<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>
親ページ
<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>
以上がpostMessage を使用して別のドメインの iframe のサイズを変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。