在Javascript上的文件下载在Firefox上不起作用

时间:2014-11-24 21:00:21

标签: javascript xml firefox

已经编写了这段代码,这些代码在Google Chrome上运行得很完美但在Firefox上没有用,你有什么线索吗?

预期的行为是你作为参数传递一个xml文本和一个名称,然后它下载一个带有xml文本和你发送的名字的xml文件,正如我所说的,因为chrome是好的但是对于firefox,它没有下载它。

/ **  *从查询结果的选定行创建并下载文件  * @param xmltext  * @param文件名  * /

function createAndDownloadFile(xmltext,filename){

var pom = document.createElement('a');
//creates a blob variable with the xml text
var bb = new Blob([xmltext], {type: 'text/xml'});

//sets the atribute href
pom.setAttribute('href', window.URL.createObjectURL(bb));
pom.setAttribute('download', filename);

//creates the download url
pom.dataset.downloadurl = ['text/xml', pom.download, pom.href].join(':');
pom.draggable = true; 
pom.classList.add('dragout');

//apply the click on to download the file
pom.click();

}

1 个答案:

答案 0 :(得分:1)

我有一个非常类似的问题,刚刚在stackoverflow上回答了我:Download attribute not working in Firefox

尝试在点击事件之前将元素添加到DOM:

//apply the click on to download the file
document.body.appendChild(pom);
pom.click();
document.body.removeChild(pom);