1

javascriptには、base64でpdfを保持する変数があります(pdfはflexで生成され、jsに渡されます)。ブラウザで開きたい(つまり、ブラウザに[開く/保存]ダイアログボックスを表示して、ユーザーがPDFを開いたり保存したりできるようにしたい)。

一部のブラウザでは正常に機能するデータURIを使用していますが、IE6/7ではサポートされていません。

function getPdf(pdf) {
    window.open("data:application/pdf;base64," +pdf);
}

このPDFをIE6および7で開くにはどうすればよいですか?データURIの代わりとしてMHTMLについて読んだことがありますが、MHTMLで必要なことができるとは思いませんか、それともできますか?今のところPDFを開く必要がありますが、将来的にはxls(MS Excel)ファイルのサポートも追加する必要があります。現在、私はFlashのFilereference.saveを使用して、ユーザーがpdfをディスクに保存して開くことができるようにしていますが、クライアントは、ユーザーに最初に保存するのではなく、自動的に開く選択肢をユーザーに与えることを主張しています。

4

2 に答える 2

1

これは、IEでサーバーに送信し、応答ページにリダイレクトしない限り不可能です。PDFを生成する場合は、IEの代わりに適切なHTMLを生成する必要があります。

于 2011-05-03T20:03:08.287 に答える
0

この代替案を検討することをお勧めします。FlexにPDFファイルをサーバーに送信させてから、ページ上のiframeにサーバーから自動的にロードさせます。これは、IE6の問題を回避するためのラウンドアバウトです。

于 2011-05-03T20:32:06.967 に答える