4

iframe(ヘッダーなしのiframe)の一部を切り取って表示するスクリプトがあります。私の問題は、このiframe内でアクションを実行すると、iframeはリロードしますが、jqueryフィルタリングを適用してその部分だけを提供しませんが、instadはヘッダー付きのすべてのページを提供するため、リロード時にスクリプトが機能しないと想定しています。 iframeを含むメインページのウィンドウリロードなしのiframe:

<iframe class="test" width="100%" height="100%" src="/message.html?msjId=260" style="height:100%;width:100%;">

 $(window).load(function () {
     $('.test').each(function(){         

       var filteredContents1 = $(this).contents().find('.div_iframe').html();
       $(this).contents().find('body').html(filteredContents1);       

     });

 });

解決策はありますか?

4

1 に答える 1

1

フレームのロードイベントも追加する必要があると思います。以下に示すように、document.ready関数にloadイベントを追加します。それが機能する場合は、フレームデータをフィルタリングするためにすでに持っているウィンドウロードイベントを省略できる場合があります。

  $(document).ready(function(){     
      $('.test').load(function () {

         var filteredContents1 = $('#frame1').contents().find('#divChild').html();
         $('#frame1').contents().find('body').html(filteredContents1);

      });
  });

質問者の要求に応じて更新

  $(document).ready(function(){     
      $('.test').load(function () {            

         $('#frame1, #frame2, #frame3').each(function(){
             var filteredContents1 = $(this).contents().find('#divChild').html();
             $(this).contents().find('body').html(filteredContents1);
         });            

      });
  });

于 2012-09-24T12:26:48.063 に答える