window.URL.createObjectURL(blobob)可以在ie11中使用吗
时间: 2024-01-16 19:16:03 浏览: 20
window.URL.createObjectURL(blobob)在IE11中是可以使用的,但是需要注意的是,在IE11中生成的blob链接不能直接添加到<a>节点上,也不能直接在浏览器地址栏中打开访问,否则会得到“Error: 拒绝访问。”错误。因此,建议在使用时仔细阅读相关文档并遵循最佳实践。
相关问题
Window.URL.createObjectURL如何使用
Window.URL.createObjectURL()方法可以用于创建一个指向参数对象的URL。以下是使用该方法的步骤:
1. 创建一个指向要使用的对象的URL。例如,创建一个指向图片的URL:
```
var img = new Image();
img.src = 'image.jpg';
var imgUrl = window.URL.createObjectURL(img);
```
2. 使用此URL。例如,将图像添加到页面中:
```
var imgElement = document.createElement('img');
imgElement.src = imgUrl;
document.body.appendChild(imgElement);
```
3. 当不再需要使用该URL时,应该释放它。例如,释放指向图像的URL:
```
window.URL.revokeObjectURL(imgUrl);
```
注意:使用该方法创建的URL只在当前窗口或标签页中有效。如果需要在不同窗口或标签页之间共享URL,则需要使用其他技术,例如Blob对象或服务器端处理。
ie浏览器window.URL.createObjectURL生成的地址打开都是空白
在IE浏览器中,window.URL.createObjectURL方法生成的地址可能会出现空白的情况。这是因为IE浏览器不支持该方法,需要使用window.navigator.msSaveOrOpenBlob方法来打开文件。你可以在代码中加入判断语句,如果是IE浏览器则使用window.navigator.msSaveOrOpenBlob方法打开文件,否则使用window.URL.createObjectURL方法打开文件。以下是修改后的代码示例:
if (window.navigator && window.navigator.msSaveOrOpenBlob) { // for IE
window.navigator.msSaveOrOpenBlob(blob, '销售统计.xls');
} else { // for Non-IE (chrome, firefox etc.)
let a = document.createElement('a');
let url = window.URL.createObjectURL(blob);
let filename = '销售统计.xls';
a.href = url;
console.log(url);
a.download = filename;
a.click();
window.URL.revokeObjectURL(url);
}
另外,如果你需要在IE浏览器中使用window.URL.createObjectURL方法,可以使用polyfill库来实现该方法的兼容性。相关问题如下: