Нет причин для типов HighPriceItem
и LowPriceItem
.
Если вы сделаете его одним PriceItems
, вы сможете превратить циклы 2 for в конце в функцию через PriceItems
и избавиться от дублированного кода внутри второго цикла for. [ 117]
Также в Go var specials = seasonPrices()
обычно пишется как specials := seasonPrices()
Я не уверен, как можно использовать его с Механиком, но Firefox имеет API, названный устройством хранения данных для использования sqlite базы данных. Проверьте его здесь: https://developer.mozilla.org/en/Storage
Я рекомендую использовать веб-сервер для сбора данных. Можно настроить домен или IP для отправки данных в. Только для того, чтобы начинаться Вы могли даже работать на localhost, если Вы должны.
Преимущество состоит в том, что, когда-то созданный, та же архитектура может использоваться от различных ПК, так, чтобы любой компьютер, от которого Вы запускаете скрипт, мог совместно использовать результаты.
Обновление: Для общения с сервером, необходимо будет использовать GM_xmlhttpRequest. Я знаю об одной библиотеке, которая добавляет уровень абстракции для создания использования GM_xmlhttpRequest легче: Speakeasy.js. Это - относительно неизвестный легкий ActiveResource как интерфейс для отправки и получения данных из УСПОКОИТЕЛЬНОГО веб-сервера. Вот пример сценария Механика, который связывается с веб-сервером на каждой загрузке страницы. Это загружает аннотации и отображает их на странице.
Вот адаптированная версия близко к Вашим потребностям:
// ==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
}
});
Можно быстро создать сайт направляющих или использовать любой бэкенд, с которым Вы знакомы.
Можно также хотеть рассмотреть использование расширения Google Gears, которое использует базу данных SQLite под капотом.
У Вас может быть вызов сценария механика URL с некоторыми переменными (как данные, которые Вы хотите сохраненный). Используйте запросы ajax. У Вас может быть установка веб-сервера локально для обработки их.
Если Вы на окнах, можно использовать WAMP для быстрого подбрасывания веб-сервера. Просто удостоверьтесь, что Вы включаете php_sqlite расширение.
Это может помочь Вам с некоторыми специфическими особенностями реализации: http://www.pathf.com/blogs/2006/07/bjax_with_greas/
Или вы просто используете LubeMonkey, это улучшенная вилка Greasemonkey с поддержкой sqlite. Каждый установленный скрипт создает свою собственную базу данных sqlite, и вы можете выполнять обновления запросов и т. Д. В этой базе данных, вы можете даже кэшировать изображения в базе данных или любые данные. Получите это здесь http://www.gamecore.org