Internet explorer linkElement.dispatchevent对象不支持此操作
我的代码如下:Internet explorer linkElement.dispatchevent对象不支持此操作,internet-explorer,dispatchevent,Internet Explorer,Dispatchevent,我的代码如下: var file = new Blob([response.data], { type: 'application/pdf' }); if (file.size != 0) { var objectUrl = URL.createObjectURL(file); var linkElement = document.createElement('a');
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即可 在页面中包含Filesaver.js,并在此文件中使用saveAs方法,如下所示
var file = new Blob([response.data], { type: 'application/pdf' });
if (file.size != 0)
{
$window.saveAs(file, fileName);
}