在的onload不工作的I帧,如果IFRAME在SRC非HTML文档(PDF或文本)(onload

2019-07-31 03:01发布

我有onload处理IFRAME:

<iframe id="FrameForPrintVersion" src="" border="0" style="height:0; width:0; visibility:hidden;" onload = 'frameOnload()' >

它工作正常,如果我使用的HTML页面作为iframe的来源,但不是我的src设置为任何PDF文档。 难道是更多钞票当PDF文档在这种情况下加载处理?

Answer 1:

根据W3C的iframe标签不支持任何事件属性。 尽管主流浏览器都支持它,但不能依靠。 如果你真的想试试这个workaround.You可以尝试这样的事情。

setTimeout(function(){
    if($('#FrameForPrintVersion').contents().find('*')!='undefined') {
        alert('your frame loaded');
    }
},200)


Answer 2:

这是与IE浏览器的问题。 我用下面的解决方案。

function dodisable() {
    var b1=document.getElementById('B1'); 
    b1.value='Please Wait....'; 
    b1.disabled=true;
    document.getElementById("browse").src = "hhhh.pdf"; /*LINK TO YOUR PDF*/
    setTimeout( URLoader_Timeout, 100);
}

function doenable() {
    var b1=document.getElementById('B1'); 
    b1.value='Submit'; 
    b1.disabled=false;
}

function URLoader_Timeout() { 
    if ( document.getElementById("browse").readyState == "complete")
        doenable();
    else
        setTimeout( URLoader_Timeout ,100);
}

HTML

<input type="button" name="B1" id="B1" value="Go" onclick="dodisable();" />
<iframe id="browse" onload="return  doenable();" style="width:100%;height:100%"></iframe>


文章来源: onload in iframes not working, if iframe have non-html document in src (pdf or text)