我有带有 onload 处理程序的 iframe:
<iframe id="FrameForPrintVersion" src="" border="0" style="height:0; width:0; visibility:hidden;" onload = 'frameOnload()' >
如果我使用 html-pages 作为 iframe 的来源,它可以正常工作,但当我将 src 设置为任何 pdf 文档时就不行。在这种情况下加载 PDF 文档时是否可以处理?
我有带有 onload 处理程序的 iframe:
<iframe id="FrameForPrintVersion" src="" border="0" style="height:0; width:0; visibility:hidden;" onload = 'frameOnload()' >
如果我使用 html-pages 作为 iframe 的来源,它可以正常工作,但当我将 src 设置为任何 pdf 文档时就不行。在这种情况下加载 PDF 文档时是否可以处理?
根据 W3C,iframe 标签不支持任何事件属性。虽然主流浏览器都支持但不能依赖。如果您真的想要它,请尝试此解决方法。您可以尝试类似的方法。
setTimeout(function(){
if($('#FrameForPrintVersion').contents().find('*')!='undefined') {
alert('your frame loaded');
}
},200)
那是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>