我正在使用以下html
在网页中嵌入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
建议一种方法答案 0 :(得分:4)
以下代码有效。
<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>
答案 1 :(得分:0)
您可以显示占位符div并隐藏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();
});
答案 2 :(得分:0)
下载PDF后,有很多关于做某事的讨论。所呈现的策略取决于插件加载其内容时的事件。似乎Adobe Reader和Internet Explorer的组合不会给我们这个事件。
我们是否可以先使用XMLHttpRequest下载PDF内容,将其放入浏览器缓存但不实际显示,并在完成后告诉浏览器显示该对象?