我已经编写了这段代码,这些代码在Google Chrome和Opera上运行完美但不适用于Firefox
function onSaveJPG(url,n){
var save = document.createElement('a');
save.href = url;
save.target = '_blank';
save.download = 'Image no '+n+'.jpeg' || url;
var event = document.createEvent('Event');
event.initEvent('click', true, true);
save.dispatchEvent(event);
(window.URL || window.webkitURL).revokeObjectURL(save.href);
}
有什么问题?请指导我。
答案 0 :(得分:16)
这应该可行(我通过查看FileSaver.js代码找出它):
function onSaveJPG(url,n){
var save = document.createElement('a');
save.href = url;
save.download = 'Image no '+n+'.jpeg' || url;
var event = document.createEvent("MouseEvents");
event.initMouseEvent(
"click", true, false, window, 0, 0, 0, 0, 0
, false, false, false, false, 0, null
);
save.dispatchEvent(event);
}
(主要问题是您需要为firefox使用MouseEvent类型事件而不是事件。此代码也适用于Chrome)。