Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 文件下载在firefox上不起作用_Javascript_Firefox_Download - Fatal编程技术网

Javascript 文件下载在firefox上不起作用

Javascript 文件下载在firefox上不起作用,javascript,firefox,download,Javascript,Firefox,Download,我已经写了这段代码,它在谷歌浏览器和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.createEve

我已经写了这段代码,它在谷歌浏览器和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);
}
怎么了?请指导我。

这应该行得通(我通过查看FileSaver.js代码发现了这一点):


(主要问题是,firefox需要使用MouseEvent类型的事件,而不是事件。此代码也适用于Chrome)。

大多数已弃用,大多数浏览器现在都支持将save元素作为旁注附加到body,要触发下载,您真正需要做的就是
save.onclick()
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);
}