Javascript XmlHttpRequest在Chrome上运行良好,但在Firefox和IE上运行不好

Javascript XmlHttpRequest在Chrome上运行良好,但在Firefox和IE上运行不好,javascript,xmlhttprequest,Javascript,Xmlhttprequest,以下代码用于从服务器下载图像或文本文件 function thisButton(position) { $("html, body").animate({ scrollTop: 0 }, 0); $.blockUI({ message : '' }); var xhr = new XMLHttpRequest(); xhr.open('GET', url , true); xhr.responseTy

以下代码用于从服务器下载图像或文本文件

    function thisButton(position) {
    $("html, body").animate({ scrollTop: 0 }, 0);
    $.blockUI({
        message : ''
    });
        var xhr = new XMLHttpRequest();
        xhr.open('GET', url , true);
        xhr.responseType = 'blob';

        xhr.onload = function(e) {
            var blob = xhr.response;
            saveByteArray(blob, metadataNome );
        };

        xhr.send();
        event.preventDefault();
}

var saveByteArray = (function() {
    var a = document.createElement("a");
    document.body.appendChild(a);
    a.style = "display: none";
    return function(data, name) {
        var url = window.URL.createObjectURL(data);
        a.href = url;
        a.download = name;
        a.click();
        window.URL.revokeObjectURL(url);
        $.unblockUI();
    };
}());
这段代码在Chrome上非常有效。但是在Firefox上,永远不会调用侦听器xhr.onload,页面也会重新加载

有人知道怎么了吗