2009-02-28 28 views
5

के साथ रिकॉर्ड करने के लिए एक ऐप लॉन्च करें मेरे पास प्रत्येक greasemonkey स्क्रिप्ट स्कैनिंग है जो मैं प्रत्येक पृष्ठ को एक विशिष्ट स्ट्रिंग के लिए देखता हूं। मैं एक एसक्लाइट डीबी में स्ट्रिंग के बदलाव को रिकॉर्ड करना चाहता हूं। मेरे पास थोड़ी देर में इस डीबी हर किसी को एक और ऐप प्रक्रिया होगी। मुझे नहीं पता कि मैं डेटा को एसक्लाइट डीबी में कैसे स्टोर करूं? मैं सोच रहा था कि स्ट्रिंग मिलने पर मैं स्वचालित रूप से निष्पादन योग्य लॉन्च कर सकता हूं लेकिन मुझे नहीं पता कि जावास्क्रिप्ट के माध्यम से इसे कैसे किया जाए। एक और विकल्प मैंने सोचा था कि एक निश्चित बंदरगाह पर एक सॉकेट सुनो और कुछ जेएस जादू है लेकिन मैं इस तरह के डेटा भेजने के लिए एक चुपचाप तरीके से नहीं सोच सकता था।greasemonkey

उत्तर

1

मुझे यकीन नहीं है कि आप इसे Greasemonkey के साथ कैसे उपयोग कर सकते हैं लेकिन फ़ायरफ़ॉक्स में एक एसक्यूलाइट डेटाबेस का उपयोग करने के लिए स्टोरेज नामक एपीआई है। इसे यहां देखें: https://developer.mozilla.org/en/Storage

0

आप greasemonkey स्क्रिप्ट को कुछ चर के साथ एक यूआरएल कॉल कर सकते हैं (जैसे डेटा जिसे आप संग्रहीत करना चाहते हैं)। AJAX अनुरोधों का प्रयोग करें। आप उन्हें संभालने के लिए स्थानीय रूप से एक वेब सर्वर सेटअप कर सकते हैं।

यदि आप विंडोज़ पर हैं, तो आप वेब सर्वर को तुरंत फेंकने के लिए WAMP का उपयोग कर सकते हैं। बस सुनिश्चित करें कि आप php_sqlite एक्सटेंशन सक्षम करें।

यह कुछ कार्यान्वयन बारीकियों के साथ तुम्हारी मदद कर सकते हैं: http://www.pathf.com/blogs/2006/07/bjax_with_greas/

2

आप Google गियर्स विस्तार है, जो हुड के नीचे एक SQLite डेटाबेस का उपयोग करता उपयोग करने पर विचार कर सकते हैं।

3

मैं डेटा एकत्र करने के लिए एक वेबसर्वर का उपयोग करने की सलाह देता हूं। आप डेटा भेजने के लिए एक डोमेन या आईपी सेट अप कर सकते हैं। बस शुरू करने के लिए यदि आपको आवश्यकता हो तो आप स्थानीयहोस्ट पर भी भाग सकते हैं।

लाभ यह है कि, एक बार बनाया गया, उसी वास्तुकला का उपयोग विभिन्न पीसी से किया जा सकता है, ताकि आप जिस कंप्यूटर से स्क्रिप्ट चलाते हैं, वह परिणाम साझा कर सके।

अद्यतन: अपने सर्वर के साथ संवाद करने के लिए आप GM_xmlhttpRequest उपयोग करने के लिए की आवश्यकता होगी। मैं एक पुस्तकालय के बारे में जानता हूं जो जीएम_एक्सएमएलटीपीआरक्वैस्ट का उपयोग करने के लिए एक अमूर्त परत जोड़ता है: Speakeasy.js। यह एक अपेक्षाकृत अज्ञात हल्के ActiveResource है जो एक विश्वसनीय वेबसर्वर से डेटा भेजने और पुनर्प्राप्त करने के लिए इंटरफेस की तरह है। एक Greasemonkey स्क्रिप्ट के Here's an example जो प्रत्येक पृष्ठ लोड पर एक वेबसर्वर के साथ संचार करता है। यह एनोटेशन लोड करता है और उन्हें पेज पर प्रदर्शित करता है।

// ==UserScript== 
// @name   Demo Script 
// @namespace  http://example.com 
// @description Sample 
// @include  * 
// 
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js 
// @require  http://strd6.googlecode.com/svn/trunk/gm_util/d_money.js 
// @require  http://strd6.googlecode.com/svn/trunk/gm_util/speakeasy.js 
// 
// ==/UserScript== 


error = D$.error; 
log = D$.log; 
D$.debug(false); 


Speakeasy 
    .generateResource('result') 
    .configure({ 
    baseUrl: 'http://localhost:3000/' 
    }) 
; 


// Attach all annotations for this page from remote server 
var href = window.location.href; 
currentUrl = href.substring(href.indexOf('://') + 3); 
log(currentUrl); 

var result1 = 'something'; // Insert your function to get your result data 
var result2 = 'something else'; // Insert your function to get your result data 

Speakeasy.result.create({ 
    data: { 
    url: currentUrl, 
    result1: result1, 
    result2: result2 
    } 
}); 

आप जल्दी से एक रेल साइट या उपयोग जो कुछ बैकएंड आप से परिचित हैं बना सकते हैं:

यहाँ अपनी आवश्यकताओं के पास एक रूपांतरित संस्करण है।

+0

ब्राउज़ करते समय मैं अपनी साइट या लोकलहोस्ट पर डेटा कैसे भेजूं? इसे स्वचालित रूप से प्रत्येक पृष्ठ को स्कैन करना चाहिए और चुपचाप –

+0

"परिणाम 1" और "परिणाम 2" चर भेजना चाहिए, इस उदाहरण में, आपके इच्छित डेटा को पकड़ लेगा। यदि आप बस पूरी साइट के HTML चाहते हैं, तो document.body.innerHTML का उपयोग करें। अन्यथा, तदनुसार पृष्ठ को फ़िल्टर करें। डेटा प्रत्येक पृष्ठ लोड पर भेजा जाएगा, क्योंकि यह स्क्रिप्ट सभी साइटों पर निष्पादित होती है। – PotatoEngineer

1

या आप बस LubeMonkey, का उपयोग स्क्लाइट समर्थन के साथ एक बेहतर Greasemonkey कांटा का उपयोग करें। प्रत्येक स्थापित स्क्रिप्ट को अपना स्वयं का स्क्लाइट डीबी बनाया जाता है और आप उस डीबी के भीतर क्वेरी अपडेट आदि निष्पादित कर सकते हैं, आप डीबी या किसी भी डेटा पर छवियों को कैश भी कर सकते हैं। इसे यहां प्राप्त करें http://www.gamecore.org

संबंधित मुद्दे