2016-12-21 195 views
0

我已经得到了我要创建并用下面的代码动态修改xmlDoc中:创建XML超链接下载链接动态

var fileReader = new FileReader(); 
var parser = new DOMParser(); 

fileReader.onloadend = function(){ 
     var xmlData = fileReader.result; 
     xmlDoc = parser.parseFromString(xmlData,"text/xml"); 
    }; 

后来我其输出到一个textarea:

var textArea = document.getElementById("resultTextArea"); 
var xmlText = new XMLSerializer().serializeToString(xmlDoc); 
textArea.value = xmlText; 

但我想动态构建.xml文件并将其作为超链接下载(右键单击并另存为)。这是可能的HTML和Javascript(认为它可能不是由于安全影响)?

ps。我试图避免外部库(jQuery),但可以使用,如果它绝对是必需的

+0

https://github.com/eligrey/FileSaver.js – Endless

回答

0

您可以在JavaScript中创建一个File对象创建XML文件:

var file = new File([xmlText], "filename.xml", {type: "application/xml"}); 

提供这个文件的链接,您可以创建它Data URI。 假设,可变myButton将是一个<a>元件,所述代码是这样的:

var reader = new FileReader(); 

reader.addEventListener("load", function() { 
    myButton.href = reader.result; 
}, false); 

reader.readAsDataURL(file); 

参考文献: