ブラウザでの PDF の表示について助けが必要です。これが、なぜ私がこれを行う必要があるかという私の本当の単純な議題です。
- ページ内の特定のボタン、正確に
は ajax モーダル ポップアップのイメージ ボタンをクリックします。 - 新しいウィンドウが表示され、そのウィンドウに pdf がレンダリングされます。
以下は、問題を解決するための私の試みです。
window.open の使用
- このJavaScript関数を使用するのは難しいですが、それでも私はいくつかを克服することができますが、特定の困難に立ち往生しています。これはIE9 64ビットでは機能しません(IE 32ビットでは機能します)。Pdf が表示されず、常に代わりにファイルをダウンロードするように求められました。他のブラウザでは、ポップアップ ウィンドウに期待どおりに pdf が表示されます。これに関するその他の問題は、ポップアップブロッカーがブラウザーでオンになっている場合、このウィンドウの表示がブロックされ、無効にしない限り解決できることですが、私のクライアントは、無効または有効にするためだけにすべての問題を解決したくありませんでした。ユーザーは、このケースを理解するためのコンピューターの知識があります。
Process.Start の使用
- この方法を使用すると、私の悩みが明らかになったようですが、長くは続きませんでした。ボタンをクリックすると、マシンのデフォルトのpdfビューアソフトウェア(Acrobat Reader)を使用してpdfが表示されることにしました。開発中、この方法は機能しているように見えますが、サイトをデプロイすると、サーバーのセキュリティ上の問題により Process.Start が機能していないように見えます。サーバーへのアクセスが制限されているため、サーバーを構成したくありません。ここでのもう1つのことは、pdfビューアソフトウェアがマシンにインストールされていない場合、別の問題が発生することです. これにはいくつかの解決策がありますが、Process.Start がサーバーで動作していないという事実を知っているので、この解決策をテストするためにドロップします。
iframe の使用
- わかりましたので、window.open が機能しないので、ポップアップを作成して、すべてのブラウザーで互換性を持たせます。これを iframe のプレースホルダーにするには、ajax の modalpop が必要です。表示したいpdfは最初に生成されるので、iframeのsrc属性をサーバー内の生成されたpdfの場所にポイントするだけです。これは、すべてのブラウザとポップアップモーダル表示で私が望んでいたように動作するようですが、それでも IE ブラウザで問題が発生します。PDFがiframeに表示されないようで、代わりにダウンロードを要求するだけです。
私が試した方法のリストに、私の問題を解決する解決策がありますか。本当に助けが必要です。皆さんからの助けに感謝します。ありがとうございました。