2010-01-13 20 views
8

मैं निम्नलिखित एचटीएमएलJQuery ajax

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

साथ एक वेब पेज में एक पीडीएफ embedding हूँ पीडीएफ तो लोड करने के लिए एक छोटे से धीमी गति से हो सकता है मैं वस्तु को छिपाना चाहते हैं और जब तक यह पूरी तरह से लोड नहीं हो जाता है तब तक लोडिंग संदेश/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

करने के लिए आप एक प्लेसहोल्डर div प्रदर्शित करने और पीडीएफ वस्तु को छिपाने जब तक यह पूरी तरह लोड होने सकता है एक तरह से बता सकती हैं। मुझे यकीन है कि अगर 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

पीडीएफ डाउनलोड होने के बाद कुछ करने पर बहुत सी चर्चा हुई है। प्रस्तुत की गई रणनीतियां उस घटना पर निर्भर करती हैं जब प्लग-इन ने लोड किया है इसकी सामग्री को लोड किया गया है। ऐसा लगता है कि एडोब रीडर और इंटरनेट एक्सप्लोरर का संयोजन हमें यह घटना नहीं देता है।

क्या हम पहले पीडीएफ सामग्री को डाउनलोड करने के लिए XMLHttpRequest का उपयोग कर सकते हैं, इसे ब्राउज़र कैश में डाल सकते हैं लेकिन वास्तव में इसे प्रदर्शित नहीं करते हैं, और जब यह किया जाता है तो ब्राउज़र को ऑब्जेक्ट दिखाने के लिए कहता है?