2016-12-21 6 views
0

をダウンロードXMLハイパーリンクを作成します。テキストエリアに私は、私が作成し、次のコードを使用して動的に変更していXMLDOCを持っているリンクを動的

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

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

その後I出力、これを:

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

しかし、私は動的に.xmlファイルを作成し、ハイパーリンクのダウンロード(右クリックして保存)として提供したいと思います。これはHTMLとJavascriptで可能ですか(セキュリティ上の影響がないと思いますか?)

ps。私は外部ライブラリ(jQuery)を避けようとしていますが、絶対値でなければを使用する必要があります。あなたはJavaScriptでFileオブジェクトを作成することによって、XMLファイルを作成することができ

+0

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

答えて

0

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); 

参考文献:

関連する問題