我的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和文件名。