在 JavaScript 中,我正在向生成 PDF 并返回 PDF 数据的服务器发出 XMLHttpRequest。在 Chrome 中,我可以在新窗口/标签中打开这些数据,如下所示:
window.open( URL.createObjectURL(RETURNED_DATA) );
其中 RETURNED_DATA 是从 XHR 返回的实际数据。
在 IE10(我假设是旧版本的 IE)中,尝试window.open()
使用DOMString
从URL.createObjectURL()
我尝试了各种版本,例如在发送 XHR 之前打开新窗口并在 XHR 回调中更新新窗口的位置,并使用仅包含 XHR 的简单 HTML 文件打开新窗口,以便它可以更新它XHR 回调中自己的位置。所有这些变体都可以在 Chrome 中使用,但会导致 IE10 中出现“权限被拒绝”错误。
我最好的猜测是它是由同源策略引起的。在 Chrome vs IE中将对象记录DOMString
到控制台时,我注意到 Chrome 会在字符串前面加上协议和主机,所以blob:http://localhost:8080/BLOB_DATA
IE10 只有blob:BLOB_DATA
.
任何想法如何在 IE 中解决这个问题?