Я рекомендую использовать веб-сервер для сбора данных. Вы можете настроить домен или IP для отправки данных. Просто для начала вы можете даже запустить на localhost, если вам нужно.
Преимущество заключается в том, что однажды созданная одна и та же архитектура может использоваться на разных компьютерах, так что любой компьютер, с которого запускается сценарий, может поделиться результатами.
Обновление:
Для связи с вашим сервером вам необходимо использовать GM_xmlhttpRequest . Я знаю одну библиотеку, которая добавляет слой абстракции для упрощения использования GM_xmlhttpRequest: Speakeasy.js. Это относительно неизвестный легкий ActiveResource-подобный интерфейс для отправки и извлечения данных с веб-сервера RESTful. Вот пример скрипта Greasemonkey, который связывается с веб-сервером при каждой загрузке страницы. Загружает аннотации и отображает их на странице.
Вот адаптированная версия, близкая к вашим потребностям:
// ==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
}
});
Вы можете быстро создать сайт Rails или использовать любой знакомый вам бэкэнд.