2011-06-17 5 views
6

का उपयोग कर फ़ाइल में संग्रहीत करना मैंने Greasemonkey का उपयोग कर पृष्ठ से डेटा की सूची ली है।जावास्क्रिप्ट/ग्रीसमोन्की

जीएम स्क्रिप्ट

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

यह स्क्रिप्ट वें समय के लिए चलता है और < 10K डेटा कैप्चर करेंगे, अब मैं कुछ फ़ाइल में कब्जा डेटा भंडारण में इस मुद्दे का सामना करना पड़। किसी को भी इस बारे में कोई जानकारी है कि हम कैप्चर किए गए डेटा को फ़ाइल/रेपो में कैसे स्टोर कर सकते हैं?

धन्यवाद - विश्वनाथन जी

+0

संभावित डुप्लिकेट [Greasemonkey का उपयोग कर फ़ाइल सहेजें] (http://stackoverflow.com/questions/2951149/save-file-using-greasemonkey) –

उत्तर

10

नहीं, यह एक फाइल करने के लिए नहीं लिख सकते हैं, लेकिन अगर आप वास्तव में ऊब रहे हैं, आप (http://pastebin.com पर पोस्ट या किसी अन्य यूआरएल है कि एक के साथ एक पोस्ट अनुरोध स्वीकार करता है सकते हैं डेटा का गुच्छा)।

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

नोट करें कि आपको एपीआई का उपयोग करने के लिए पेस्टबिन खाता होना चाहिए।


यदि आप वास्तव में, अपने स्थानीय फाइल सिस्टम के लिए एक फ़ाइल में लिखने अपने डेस्कटॉप पर एक वेब सर्वर चलाने के लिए, और उसके बाद डिस्क के लिए एक http PUT अनुरोध के परिणामों को बचाने के लिए की जरूरत है।
1) == UserScript == अपने Greasemonkey स्क्रिप्ट

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

2) की धारा में निम्नलिखित पंक्ति जोड़ के 2 निम्नलिखित लाइनों जोड़ें:

+0

इसका बहुत अच्छा विचार है। लेकिन अगर मैं xyz.com का उपयोग कर रहा हूं, तो क्रॉस डोमेन में xmlHttpRequest भेजना संभव है? – gviswanathan

+1

@gviswanathan मैं उपयोग कर रहा हूँ 'GM_xmlhttpRequest' ऑब्जेक्ट नोटिस? वह जादू है जो मुझे डेटा ** कहीं भी ** भेजने देता है। – ironchefpython

5

एक बहुत जल्दी और आसानी से समाधान FileSaver.js उपयोग करने के लिए है जीएम स्क्रिप्ट

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

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


इस कोड उदाहरण के लिए कोड "हैलो world.txt" पाठ वाले "Hello, world!" नाम की एक फ़ाइल डाउनलोड करने के लिए एक संवाद बॉक्स प्रदर्शित करेगा। बस इसे फ़ाइल नाम और अपनी पसंद की टेक्स्ट सामग्री से प्रतिस्थापित करें!