Javascript下载在firefox中停止,但在Chrome中有效
Javascript download stop in firefox, but works in Chrome
我的HTML页面中有一个简单的按钮,用于下载SVG文件。这在Chrome中运行得很好,但在Firefox中,文件只有1行(第一行)。
$("button").click(function(){
svgSource = phylocanvas.getSvgSource();
console.log(svgSource);
if(svgSource){
var hiddenElement = document.createElement('a');
document.body.appendChild(hiddenElement); // Add the element to the DOM
hiddenElement.setAttribute("type", "hidden"); // make it hidden
hiddenElement.href = 'data:attachment/text,' + encodeURI(svgSource);
hiddenElement.target = '_blank';
hiddenElement.download = '<TMPL_VAR NAME="TREENAME">.svg';
console.log(hiddenElement.download);
hiddenElement.click();
}
});
知道如何在Firefox中获取整个文件吗?
您也可以尝试:
var pom = document.createElement('a');
pom.setAttribute('href', 'data:text/xml;charset=utf-8,' + window.encodeURIComponent(textContent));
pom.setAttribute('download', filename);
var event = document.createEvent('MouseEvents');
event.initEvent('click', true, true);
pom.dispatchEvent(event);
替换textContent和filename。
http请求可以包含一个与下载属性等效的头变量ContentDisposition
。据我所知,Firefox和Chrome之间唯一的区别是,在Firefox中,标头属性具有优先级,而在Chrome中,下载属性获胜。也许在Chrome中使用了下载属性,并按原样下载文件,而在Firefox中使用了头属性(如果提供),并有一个???值,该值只保存文件的xml头,同时将内容发送给svg呈现器。(只是猜测;-)
相关文章:
- jQuery自动完成在Firefox中运行良好,但在Chrome中则不然
- Javascript下载在firefox中停止,但在Chrome中有效
- Javascript'元素'在ie中未定义,但在chrome和firefox中运行良好
- 这个jQuery代码在Mozilla上运行良好,但在Chrome,Opera,Safari上则不然
- 火狐中的多个问题,但在 chrome 中工作正常,没有一个问题
- 在Firefox中工作正常,但在Chrome中不能
- Javascript正则表达式在IE中失败,但在Chrome和Edge中工作
- Javascript键码在Firefox中不起作用,但在chrome中运行良好
- 输入类型的图像在Internet Explorer中不起作用,但在Chrome和Firefox中起作用
- Jquery.hide()和.show()在firefox上运行速度较慢,但在chrome上运行良好
- 在getJSON之后构建HTML在Safari中有效,但在Chrome或Firefox中无效
- JS函数如何/为什么不能'不能在代码中执行,但在chrome控制台中运行良好
- html数据属性在firefox中使用javascript时没有按预期显示,但在chrome中显示正确
- ng-click在IE中不起作用,但在CHROME中工作正常
- event.prventdefault()在mozilla中不起作用,但在chrome中运行良好
- 代码在firefox中运行良好,但在chrome中不起作用.为什么?
- 拖放文件时,dataTransfer.items属性在Firefox和IE中未定义,但在Chrome中未定义
- jQuery scrollTop没有'不能在FF或IE中制作动画,但在chrome中效果良好
- innerHTML=Date()在fiddle中工作,但在Chrome或IE中不工作
- Fullpage.js不能在Mozilla上运行,但在Chrome上运行良好