13

JavaScript内で、PDFを生成してPDFデータを返すサーバーにXMLHttpRequestを作成しています。Chrome では、このデータを次のような新しいウィンドウ/タブで開くことができます。

window.open( URL.createObjectURL(RETURNED_DATA) );

ここで、RETURNED_DATA は XHR から返される実際のデータです。

window.open()IE10 では (古いバージョンの IE を想定しています)、返されたDOMStringオブジェクトを使用しようとすると、「許可が拒否されました」というメッセージが表示されます。URL.createObjectURL()

XHRを送信する前に新しいウィンドウを開き、XHRコールバックで新しいウィンドウの場所を更新する、XHRのみを含む単純なHTMLファイルで新しいウィンドウを開くなど、さまざまなバージョンを試しました。 XHR コールバックでの自分の場所。これらのバリエーションはすべて Chrome で機能しますが、IE10 では「アクセス許可が拒否されました」というエラーが発生します。

私の推測では、同一生成元ポリシーが原因であると考えられます。DOMStringChrome と IE でオブジェクトをコンソールに記録すると、Chrome では文字列の先頭にプロトコルとホストが追加されるblob:http://localhost:8080/BLOB_DATAのに対し、IE10 ではblob:BLOB_DATA.

IE でこの問題を解決する方法はありますか?

4

1 に答える 1