我试图使用jquery从html表下载包含数据的excel文件 . 我想为下载的excel文件设置自定义文件名 . 为此,我使用 <a> 标签的 download 属性 .

用户界面有一个下载excel的按钮 . 所以我在一个不可见的 <div> 标签中创建一个 <a> 标签,并在按钮点击处理函数 toExcel() 中自动点击它 .

这是我的代码 .

var toExcel = function()
{
    var htmltable= $("#reportDiv").get(0);
    var html = htmltable.outerHTML;
    csvData = 'data:application/vnd.ms-excel;charset=UTF-8,' + encodeURIComponent(html);

    var newLink = $("<a />", {
        id : "id5",
        class : "myLink",
        href : csvData,
        text : "Export Excel",
        download:"data.xls"
    });
    $('#aDiv').append(newLink);

    $("#id5").click(function(e){
        window.location = $('#id5').attr('href');
        return true;
    });

    $('#id5').trigger('click');

}

使用此代码,下载弹出文件随文件一起提供,但文件名也是一些随机名称,并且不会出现下载属性中提到的文件名 . 可能有什么不对?

编辑:以上代码适用于Chrome . 如何使它成为Firefox的工作?