コンテンツに基づいてiframeの高さを動的に変更する方法 - jQuery/JavaScript


  1. jQueryを使用した方法: jQueryを使って、iframeの高さを動的に調整するためには、以下の手順を実行します。
$(document).ready(function() {
  // iframeの読み込みが完了した後に実行されるコード
  $('iframe').on('load', function() {
    // iframe内のコンテンツの高さを取得
    var contentHeight = $(this).contents().find('body').height();

    // iframeの高さをコンテンツの高さに設定
    $(this).height(contentHeight);
  });
});

上記のコードでは、ドキュメントが読み込まれた後に、iframeの読み込みが完了した時点でコードが実行されます。iframe内のコンテンツの高さを取得し、それをiframeの高さとして設定します。

  1. JavaScriptを使用した方法: jQueryを使用せずに、純粋なJavaScriptだけでiframeの高さを動的に変更する方法もあります。以下はその例です。
window.addEventListener('DOMContentLoaded', function() {
  var iframe = document.querySelector('iframe');

  iframe.addEventListener('load', function() {
    var contentHeight = iframe.contentWindow.document.body.scrollHeight;
    iframe.style.height = contentHeight + 'px';
  });
});

上記のコードでは、ウィンドウがロードされた後に、iframeの読み込みが完了した時点でコードが実行されます。iframe内のコンテンツの高さを取得し、それをiframeの高さとして設定します。

以上が、コンテンツに基づいてiframeの高さを動的に変更するための簡単な方法です。これらの方法を使用すると、iframeが内部のコンテンツに応じて適切な高さに自動的に調整されます。