2016-08-23 5 views
1

私はいくつかの大きなJSONの設定を持っており、ユーザーがエクスポートできるようにしたいと考えています。問題は、JS prompt cantは完全なデータを返すので、私はwindows.openを使用して書き込みを行うことにしました。しかし、json値でhtmlを "書く"だけで "書く"。この回答https://stackoverflow.com/a/22055706は多くの助けとなりました。document.writeとJSONの出力

var data = Store.export(); 
var url = 'data:text/json;charset=utf8,' + encodeURIComponent(data); 
window.open(url, '_blank'); 
window.focus(); 

しかし、私は本当に大きくて長いJSONすべてがフリーズエクスポートしようとすると... にはどうすればテキストとして空白のURLおよび未修飾JSONを使用するためにそれを修正することができますか?あなたがデータを置くことになるで複数行のテキストフィールドを含めることができ

var myWindow = window.open("", "JSON Settings", '_blank'); 
myWindow.document.write('<textarea>' + escapeHTML(Store.export()) + '</textarea>'); 
myWindow.focus(); 
+0

あなたは私たちがして周りにテストするためにバイオリンを作るでした:

このlibには、私のために便利に数回に来ていますか? – TrojanMorse

+0

http://stackoverflow.com/questions/3665115/create-a-file-in-memory-for-user-to-download-notthrough-server(2番目の回答)のようなものを試しましたか? – yuriy636

答えて

1

UPD 私の回避策。

これは、HTMLに挿入されるのではなく、移動するためのスペースを提供します。

ユーザーは、データをコピーして自分の.jsonファイルに貼り付けます。

+0

私はこれまでこれをやっていましたが、大量のデータがブラウザに数回ハングしてしまったので、データをダウンロードして送信してより良い結果を得ました。 –

+0

うん。それは素晴らしいと私はHTMLで、しかし、この種のデータをしたい - "ニュース" "ニュース"に変換され、jsonを破った... – user1128677

0

データをエクスポートしようとしている場合、データのダウンロードを禁止する要件がありますか?

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

+0

私は考えていたが、これは考えていたが、外部のライブラリを使用したくない:c – user1128677