我已經使用該標籤嵌入PDF文件。HTML嵌入PDF iframe
<iframe id="iframepdf" src="files/example.pdf"></iframe>
這正常在Chrome,IE8 +,火狐等,但由於某些原因,當有些人在IE8查看,該文件正在下載,而不是嵌入。我知道這款瀏覽器已經過時,但它是我辦公室內的標準瀏覽器,因此網站必須爲此而設計。
有沒有人有任何想法,爲什麼發生這種情況,我該如何解決它,否則把一個錯誤消息,而不是讓文件下載?
我已經使用該標籤嵌入PDF文件。HTML嵌入PDF iframe
<iframe id="iframepdf" src="files/example.pdf"></iframe>
這正常在Chrome,IE8 +,火狐等,但由於某些原因,當有些人在IE8查看,該文件正在下載,而不是嵌入。我知道這款瀏覽器已經過時,但它是我辦公室內的標準瀏覽器,因此網站必須爲此而設計。
有沒有人有任何想法,爲什麼發生這種情況,我該如何解決它,否則把一個錯誤消息,而不是讓文件下載?
已下載它可能是,因爲沒有安裝Adobe Reader插件。在這種情況下,IE(無論哪個版本)不知道如何呈現它,它只會下載文件(例如Chrome,它有自己的嵌入式PDF渲染器)。
這就是說。 不是顯示PDF的最佳方式(不要忘記與移動瀏覽器(例如Safari)兼容)。某些瀏覽器將始終在外部應用程序(或另一個瀏覽器窗口)內打開該文件。我發現的最好和最兼容的方式有點棘手,但適用於我試過的所有瀏覽器(甚至相當過時):
保留您的< iframe>
但不顯示PDF內部,它將填充HTML頁面由<object>
標籤組成。爲你的PDF創建一個HTML頁面的包裝,它應該看起來像這:
<html>
<body>
<object data="your_url_to_pdf" type="application/pdf">
<embed src="your_url_to_pdf" type="application/pdf" />
</object>
</body>
</html>
當然,你還需要相應的插件安裝在瀏覽器中。如果您需要在移動設備上支持Safari,請查看this post。
1st。爲什麼在<object>
裏嵌套<embed>
?你會找到答案here on SO。代替嵌套<embed>
標記,您可能(應該)爲您的用戶(或內置查看器,請參閱下一段)提供自定義消息。現在<object>
可以使用無後顧之憂和<embed>
是無用的。
2nd。爲什麼選擇HTML頁面?因此,如果PDF查看器不受支持,您可以提供後備。內部查看器,純HTML錯誤消息/選項等...
檢查PDF支持很棘手,因此您可以爲您的客戶提供備用查看器,看看PDF.JS項目,這很不錯,但渲染質量 - 對於桌面瀏覽器 - 不如原生 PDF渲染器(我想在屏幕尺寸上我沒有看到移動瀏覽器有什麼區別)。
的iFrame
<iframe id="fred" style="border:1px solid #666CCC" title="PDF in an i-Frame" src="PDFData.pdf" frameborder="1" scrolling="auto" height="1100" width="850" ></iframe>
對象
<object data="your_url_to_pdf" type="application/pdf">
<embed src="your_url_to_pdf" type="application/pdf" />
</object>
現在如何在該對象上觸發打印,打印沒有定義? – Miguel
有沒有如果安裝了Adobe Reader插件,y方式只顯示iframe,如果不是,則顯示錯誤消息? – user2931470
是的...不使用「iframe」!在可以提供錯誤信息的地方使用「對象」(或者替代視圖,請參閱我的答案的最後部分)。 –
這現在正在工作,但該文件是放大方式?我正在使用iframe,因爲這允許pdf適合div的寬度。 – user2931470