已经编写了这段代码,这些代码在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();
}
答案 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);