13

私は onload ハンドラを持つ iframe を持っています:

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

htmlページをiframeのソースとして使用するとうまくいきますが、srcをpdfドキュメントに設定するとうまくいきません。この場合、PDF 文書がロードされたときに対処することはできますか?

4

2 に答える 2

11

W3Cによると、iframeタグはイベント属性をサポートしていません。主要なブラウザはそれをサポートしていますが、信頼することはできません。本当に必要な場合は、この回避策を試してください。次のようなものを試すことができます。

setTimeout(function(){
    if($('#FrameForPrintVersion').contents().find('*')!='undefined') {
        alert('your frame loaded');
    }
},200)
于 2012-08-30T06:05:17.797 に答える
1

それは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>
于 2012-08-30T05:58:17.960 に答える