PDFファイルをiframeで開きたい。私は次のコードを使用しています:
<a class="iframeLink" href="https://something.com/HTC_One_XL_User_Guide.pdf"
jQuery1640737952376988841="85"> User guide </a>
Firefoxでは正常に開きますが、IE8では開きません。
IEでも動作させる方法を知っている人はいますか?
iframe
を使用してPDFを「レンダリング」すると、すべてのブラウザーで機能しません。ブラウザがPDFファイルを処理する方法に依存します。一部のブラウザー(FirefoxやChromeなど)には組み込みのPDFがレンダリングされており、一部の古いブラウザー(おそらく古いバージョンのPDFがダウンロードを試行する場合にIEインラインを表示できます)代わりにファイル)。
代わりに、HTMLファイルにPDFを埋め込むJavascriptライブラリである PDFObject をチェックアウトすることをお勧めします。ブラウザの互換性をかなりうまく処理し、IE8で動作する可能性が最も高いです。
HTMLでは、div
を設定してPDFを表示できます。
<div id="pdfRenderer"></div>
次に、そのdiv
にPDFを埋め込むJavaScriptコードを含めることができます。
var pdf = new PDFObject({
url: "https://something.com/HTC_One_XL_User_Guide.pdf",
id: "pdfRendered",
pdfOpenParams: {
view: "FitH"
}
}).embed("pdfRenderer");
これは、HTTP [S]アクセス可能なPDFを<iframe>
からリンクするコードです。
<iframe src="https://research.google.com/pubs/archive/44678.pdf"
width="800px" height="600px" >
フィドル: http://jsfiddle.net/cEuZ3/1545/
編集:<a>
タグ(onclick
イベント)からJavascriptを使用して、実行時にiFrameのSRC属性を設定できます...
編集2:明らかに、それはバグです(ただし、回避策があります):
Adobe Reader 10.0を使用してInternet ExplorerでPDFファイルが開かない-ユーザーが空の灰色の画面を表示します。ユーザーのためにこれを修正するにはどうすればよいですか?
また、WebサーバーがContent-Disposition = inlineでファイルを送信することを確認することも重要です。自分でファイルを読んで、そのコンテンツをブラウザに送信する場合、これは当てはまらない可能性があります。
pHPでは、このようになります...
...headers...
header("Content-Disposition: inline; filename=doc.pdf");
...headers...
readfile('localfilepath.pdf')