打开一个新窗口,其中包含从 XMLHttpRequest 返回的 blob 对象中的 PDF 数据
Open a new window with PDF data in a blob object returned from XMLHttpRequest
在JavaScript内部,我正在向生成PDF并返回PDF数据的服务器发出XMLHttpRequest。在Chrome中,我可以在新窗口/选项卡中打开此数据,如下所示:
window.open( URL.createObjectURL(RETURNED_DATA) );
其中RETURNED_DATA是从 XHR 返回的实际数据。
在IE10中(我假设旧版本的IE),尝试使用从URL.createObjectURL()
返回的DOMString
对象进行window.open()
时,我遇到"权限被拒绝"
我已经尝试了各种版本,例如在发送 XHR 之前打开新窗口并在 XHR 回调中更新新窗口的位置,以及使用仅包含 XHR 的简单 HTML 文件打开新窗口,以便它可以更新它在 XHR 回调中自己的位置。所有这些变体都可以在Chrome中工作,但在IE10中会导致"权限被拒绝"错误。
我最好的猜测是它是由同源策略引起的。在Chrome vs IE中将DOMString
对象记录到控制台时,我注意到Chrome在字符串前面加上协议和主机,因此blob:http://localhost:8080/BLOB_DATA
而IE10只有blob:BLOB_DATA
。
任何想法如何在IE中解决此问题?
对于 IE 10 和 11,您可以使用 msSaveOrOpenBlob
window.navigator.msSaveOrOpenBlob(blob, fileName);
相关文章:
- XMLHttpRequest未返回值-状态202
- XMLHttpRequest在移动设备上的chrome上不起作用
- AJAX简单错误.XMLHttpRequest无法加载http://localhost/mpl/getPage.php.
- 检查xmlhttprequest问题的消息
- 主线程上的同步XMLHttpRequest已弃用
- 如何定期发出xmlhttprequest
- javascript第三个XMLHttpRequest被拒绝.但前两个是允许的
- 上传带有XMLHttprequest的文件-多部分/表单数据中缺少边界
- 对象#<XMLHttpRequest>没有方法'完成'
- 在XMLHttpRequest之后重新初始化jQuery
- 如何将GreaseMonkey中的XMLHttpRequest延迟到目标页面加载完成
- Javascript XMLHttpRequest——只有第一个POST请求有效
- XMLHttpRequest - difference between Chrome & Firefox
- IE上的新XMLHttpRequest()出现JS Ajax未指定错误
- 非常简单的XMLHttpRequest不起作用
- 如何使用XMLHttpRequest下载文件
- XMLHttpRequest在$.ajax工作的地方给出了CORS错误
- XMLHttpRequest.open()AJAX中的参数url
- XMLHTTPRequest脚本中没有internet连接和超时
- 为什么当async标志设置为false时,xmlhttprequest中的代码可以工作,而当它设置为true时却不能工作