2011-06-17 6 views
6

私はGreasemonkeyを使用してページからデータのリストを取得しました。JavaScript/GreaseMonkeyを使用してファイルに保存

GMスクリプト

var hit = GM_getValue("hit") || 0; 
var _url = "http://localhost:8080/test?p=$$pageNo$$"; 
_url = _url.replace("$$pageNo$$", hit); 
GM_setValue("hit", ++hit); 
if(hit <= 100) { 
window.location.href = _url; 
} 

このスクリプトは、n番目の時間のために実行され、今、私はいくつかのファイルにキャプチャしたデータを格納する際に問題に直面し、< 10Kデータをキャプチャします。 キャプチャしたデータをファイル/リポジトリに保存する方法については、誰でもご存知ですか?

おかげ - ViswanathanのG

+0

[Greasemonkeyを使用してファイルを保存する](http://stackoverflow.com/questions/2951149/save-file-using-greasemonkey) –

答えて

10

いや、それをファイルに書き込むことはできませんが、あなたは本当に退屈している場合、あなたはhttp://pastebin.com(またはとPOSTリクエストを受け付け、他のURLにそれを投稿することができますデータの束)。

GM_xmlhttpRequest({ 
    method: "POST", 
    url: "http://pastebin.com/post.php", 
    data: <your data here>, 
    headers: { 
    "Content-Type": "application/x-www-form-urlencoded" 
    }, 
    onload: function(response) { 
    alert("posted"); 
    } 
}); 

APIを使用するには、pastebinアカウントが必要です。


あなた本当には、ローカルのファイルシステムにファイルを書き込むデスクトップ上のWebサーバーを実行して、ディスクへのHTTP PUTリクエストの結果を保存する必要がある場合。 が
1)あなたのGreasemonkeyスクリプト

// @require  https://raw.githubusercontent.com/eligrey/FileSaver.js/master/FileSaver.js 

2)の== UserScript ==セクションに次の行を追加し、2次の行を追加します。

+0

これはかなり良いアイデアです。 xyz.comを使用している場合、xmlHttpRequestをクロスドメインで送信することは可能ですか? – gviswanathan

+1

@gviswanathan私が使っている 'GM_xmlhttpRequest'オブジェクトに注目してください。それは私が**どこでも**データを送ることを可能にする魔法です。 – ironchefpython

5

A非常に高速かつ簡単な解決策はFileSaver.jsを使用することですGMスクリプト

var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"}); 

saveAs(blob, "hello world.txt"); 


このコード例のコードは、テキスト含む「ハローworld.txt」の「Hello、World!」という名前のファイルをダウンロードするためのダイアログボックスが表示されます。ファイル名とあなたの選択したテキスト内容でこれを置き換えてください!

関連する問題