linkElement.dispatchevent对象不支持此操作IE
问题描述:
我的代码是像波纹管:linkElement.dispatchevent对象不支持此操作IE
var file = new Blob([response.data], { type: 'application/pdf' });
if (file.size != 0) {
var objectUrl = URL.createObjectURL(file);
var linkElement = document.createElement('a');
linkElement.setAttribute('href', objectUrl);
linkElement.setAttribute("download", fileName);
var clickEvent;
//This is true only for IE,firefox
if (document.createEvent) {
// To create a mouse event , first we need to create an event and then initialize it.
clickEvent = document.createEvent("MouseEvent");
clickEvent.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
}
else {
clickEvent = new MouseEvent('click', {
'view': window,
'bubbles': true,
'cancelable': true
});
}
linkElement.dispatchEvent(clickEvent);
此代码在Chrome & mozila,只能用IE 10以上问题的罚款。
任何人都可以帮助我,让它工作吗?
谢谢。
答
此方法不适合所有浏览器。 所以你可以只是简单地使用Filesaver.js https://github.com/eligrey/FileSaver.js
在你的页面中包含Filesaver.js,并使用这个文件的saveAs方法如下。
var file = new Blob([response.data], { type: 'application/pdf' });
if (file.size != 0)
{
$window.saveAs(file, fileName);
}