bkb*_*oth 13 javascript ajax internet-explorer google-chrome
在JavaScript内部我正在向服务器发出XMLHttpRequest,该服务器生成PDF并返回PDF数据.在Chrome中,我可以在新的窗口/标签中打开此数据,如下所示:
window.open( URL.createObjectURL(RETURNED_DATA) );
Run Code Online (Sandbox Code Playgroud)
其中RETURNED_DATA是从XHR返回的实际数据.
在IE10中(我假设IE的旧版本),当我尝试window.open()使用DOMString从中返回的对象时,我得到"权限被拒绝"URL.createObjectURL()
我已经尝试了各种版本,例如在发送XHR之前打开新窗口并在XHR回调中更新新窗口的位置,并打开一个包含XHR的简单HTML文件的新窗口,以便它可以更新它自己在XHR回调中的位置.所有这些变体都适用于Chrome,但导致IE10中出现"权限被拒绝"错误.
我最好的猜测是它是由同源策略引起的.DOMString在Chrome vs IE 中将对象记录到控制台时,我注意到Chrome会在协议和主机之前添加字符串,blob:http://localhost:8080/BLOB_DATA而IE10只有blob:BLOB_DATA.
任何想法如何在IE中解决这个问题?
对于 IE 10 和 11,您可以使用 msSaveOrOpenBlob
window.navigator.msSaveOrOpenBlob(blob, fileName);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2246 次 |
| 最近记录: |