2016-11-05 2 views
0

他のドメインのモーダルウィンドウでiFrameを読み込んでいますが、フレームが読み込まれない、または読み込みに20秒以上かかることがあります。ここでは、コードは次のようになります。jQuery:Xセクションの後にiFrameが検出されない

HTML:

<div id="mask"> 
    <div id="iframe_lightbox"> 
     <div id="iframe_container"><iframe id="patternCoolerIframe" style="width: 100%; height: 100%;" src="" frameborder="0" ></iframe></div> 
     <div id="iframe_lightbox_close">X</div> 
    </div> 
</div> 

JS:

コンテンツはX秒後にiframe内に読み込まれていない場合、私は検出することができますどのように
function launch_iFrame(iframeSrc, iframeID){ 
     $("#mask").fadeTo('500', 1, function() { 

     $('<iframe>', { 
      src: iframeSrc, 
      id: 'iframeID', 
      frameborder: 0, 
      scrolling: 'no', 
      width: '100%', 
      height: iFrameH+'px' 
     }).appendTo('#iframe_container'); 
    }); 
} 

?私は、ユーザーにメッセージを表示するか、ページを更新したいと思います。

答えて

1

あなたはタイマーを使用してonloadハンドラが

function launch_iFrame(iframeSrc, iframeID){ 

    var timer = setTimeout(function() { 
     alert('The iFrame didn\'t load in five seconds !'); 
    }, 5000); 

    $("#mask").fadeTo('500', 1, function() { 

     $('<iframe>', { 
      src   : iframeSrc, 
      id   : 'iframeID', 
      frameborder : 0, 
      scrolling : 'no', 
      width  : '100%', 
      height  : iFrameH+'px', 
      on   : { 
       load : function() { 
        clearTimeout(timer); // remove timer when iFrame loads 
       } 
      } 
     }).appendTo('#iframe_container'); 
    }); 
} 
を発射しているかどうかを確認することができます
関連する問題