window.URL.createObjectURL(blob) 无法浏览
时间: 2023-11-11 10:15:06 浏览: 175
浅谈js图片前端预览之filereader和window.URL.createObjectURL
当使用window.URL.createObjectURL(blob)无法浏览时,这可能是因为在IE10和IE11中会报错"Error: 拒绝访问的"。这个问题可以通过以下解决方式来解决:
1. 首先,你可以使用以下代码来判断浏览器是否为IE,并在IE中使用其他方法来处理:
```javascript
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
// IE浏览器处理方式
window.navigator.msSaveOrOpenBlob(blob, file_name);
} else {
// 其他浏览器处理方式
var a = document.createElement('a');
document.body.appendChild(a);
a.style = 'display: none';
var url = window.URL.createObjectURL(blob);
a.href = url;
a.download = file_name;
a.click();
a.remove();
window.URL.revokeObjectURL(url);
}
```
2. 另外,需要注意的是,在使用window.URL.createObjectURL创建Blob链接时,IE和其他浏览器之间还存在区别。在IE中生成的blob链接是不带域名的,而在其他浏览器中是带域名的。 这可能导致在某些情况下无法浏览。因此,在处理这个问题时,需要考虑到不同浏览器的差异。
综上所述,当使用window.URL.createObjectURL(blob)无法浏览时,你可以根据浏览器类型来选择不同的处理方式,同时注意IE和其他浏览器之间的区别。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [ie浏览器 window.URL.createObjectURL Blob URL报错不兼容.](https://blog.csdn.net/sunxinshu/article/details/114990520)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [window.URL.createObjectURL下载Blob文件及IE/Edge兼容](https://blog.csdn.net/kiscon/article/details/107136947)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文