2016-08-04 6 views
4

私は現在、Greasemonkeyで作成したuserscriptにデータを格納するためにGM_setValueとGM_getValueを使用しています。私は簡単にsqliteデータベースにデータを保存することができるようにしたいと思います。GMは、スクリプト内からすべてのデータを格納しています。GM _---値データベースをバックアップするgreasemonkeyスクリプト内のリンクを提供するにはどうすればよいですか?

例の場合、ページの右上に「バックアップデータ」というリンクを作成します。クリックすると、.sqliteファイルを直接ダウンロードするか、JSON.stringify()の値をダウンロードします。

これは可能ですか?私はここからコードを採用しようとしました:Create text file in JavaScriptしかし、それは巨大なハックの仕事であり、醜いです。unsafeWindow.open()を使う必要があります。私はJSON文字列100kの文字

+0

この関数を呼び出すことができ、内蔵のテキストエリアには、テキストの大規模な量の非常に遅いです、クリップボードにコピーボタンを作成しようとします。 – wOxxOm

答えて

2

uは、このように

function download(filename, text) { 
    var element = document.createElement('a'); 
    element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text)); 
    element.setAttribute('download', filename); 

    element.style.display = 'none'; 
    document.body.appendChild(element); 

    element.click(); 
    document.body.removeChild(element); 
} 

をダウンロード可能なファイルを作成することができますが、実際に

download('filename.sqlite', 'your-db'); 
関連する問題