2010-01-13 31 views
8

我嵌入PDF在網頁中與下面的HTMLJQuery的阿賈克斯對象標記PDF加載

<object id="pdf" classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="1024" 
     height="600"> 
     <param name="SRC" value="/GetDoc.ashx?SOID=<%=Html.Encode(Model.OrderID)%>" /> 
     <embed src="/GetDoc.ashx?SOID=<%=Html.Encode(Model.OrderID)%> " 
      width="1024" height="600">       
    </embed> 
    </object> 

的PDF文件可以是一個小,加載速度慢,所以我想隱藏對象並顯示一個加載消息/ gif,直到完全加載,這樣用戶不會看到空白屏幕。

可以有人提出一個辦法做到這一點使用jQuery AJAX

回答

3

下面的代碼工作。

<div style="background: transparent url(loading.gif) no-repeat"> 
<object height="1250px" width="100%" type="application/pdf" data="aaa.pdf"> 
    <param value="aaa.pdf" name="src"/> 
    <param value="transparent" name="wmode"/> 
</object> 
</div> 
0

您可以顯示一個佔位符股利和隱藏PDF對象,直到它完全加載。我不知道,如果load事件的作品,但是,我從來沒有使用過它:

<div id="pdf-placeholder" style="width: 1024px; height: 600px;"> 
    <!-- whatever you want here --> 
</div> 
<object id="pdf" style="display: none;" ...> 
    ... 
</object> 

// JS code 
$(window).load(function() { 
    $('#pdf-placeholder').hide(); 
    $('#pdf').show(); 
}); 
0

一旦下載了PDF文件,有很多關於做某些事情的討論。呈現的策略取決於插件加載其內容時發生的事件。看起來Adobe Reader和Internet Explorer的組合並沒有給我們這個事件。

我們是否可以使用XMLHttpRequest首先下載PDF內容,將其放入瀏覽器緩存中,但並未實際顯示它,以及何時完成告訴瀏覽器顯示對象?