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

Posted

技术标签:

【中文标题】Javascript 上的文件下载在 Firefox 上不起作用【英文标题】:File Download on Javascript does not work on firefox 【发布时间】:2014-11-24 21:00:21 【问题描述】:

已经编写了这段代码,它在谷歌浏览器上运行完美,但在 Firefox 上运行不正常,你有什么线索吗?

预期的行为是您将 xml 文本和名称作为参数传递,它会下载一个带有该 xml 文本和您发送的名称的 xml 文件,正如我所说,对于 chrome 可以,但对于 firefox,它不会下载吧。

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

函数 createAndDownloadFile(xmltext, 文件名)

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】:

我有一个非常相似的问题,刚刚在 *** 上为我回答了这个问题: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);

【讨论】:

您好 MattSidor 非常适合我,非常感谢您的帮助。 很高兴听到这个消息。您能帮我一个忙,然后单击我的答案左侧的绿色复选标记,告诉其他人它回答了您的问题吗?非常感谢!

以上是关于Javascript 上的文件下载在 Firefox 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

使用JavaScript获取样式的属性值

JavaScript onkeydown事件入门实例(键盘某个按键被按下)

链接并执行托管在 GitHub 上的外部 JavaScript 文件

将 javascript 数组存储为服务器上的 csv 文件

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

是否有 Eclipse 设置可以显着提高 JavaScript 编辑器在大文件上的性能?