2010-01-13 27 views
8

tôi nhúng một file PDF trong một trang web với html sauJQuery ajax cho pdf tải trong thẻ đối tượng

<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> 

của PDF có thể là một chút chậm để tải vì vậy tôi muốn ẩn các đối tượng và hiển thị thông báo tải/gif cho đến khi nó được tải đầy đủ để người dùng không nhìn vào màn hình trống.

ai đó có thể đề nghị một cách để làm điều này bằng jquery ajax

Trả lời

3

Mã sau hoạt động.

<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

Bạn có thể hiển thị một div giữ chỗ và ẩn các đối tượng PDF cho đến khi nó có nạp đầy đủ. Tôi không chắc chắn nếu sự kiện load hoạt động, tuy nhiên, tôi chưa bao giờ sử dụng nó:

<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

Có rất nhiều cuộc thảo luận về việc thực hiện điều gì đó khi tải xuống PDF. Các chiến lược được trình bày phụ thuộc vào sự kiện khi trình cắm đã tải nội dung của nó. Dường như sự kết hợp của Adobe Reader và Internet Explorer không cho chúng tôi sự kiện này.

Chúng ta có thể sử dụng XMLHttpRequest để tải xuống nội dung PDF trước, đưa nó vào bộ nhớ cache của trình duyệt nhưng không thực sự hiển thị nó hay không và khi nào điều đó làm cho trình duyệt hiển thị đối tượng?

Các vấn đề liên quan