Разрабатываем свой Sidebar Gadget / Хабр

Разрабатываем свой Sidebar Gadget / Хабр Гаджет

Основное окно

Разметка основного окна ничем не отличается от разметки любой другой веб-страницы. Вдобавок нам предоставляют несколько исключительно гаджетовских тегов. Для задания фона гаджета, используется тег

g:background

. Любое содержимое, размещенное в данном элементе будет фоновым для всего основного окна.

Я не стал делать задний фон гаджету, с помощью параметра opacity=«0» фон стал абсолютно прозрачным.

Тело страницы довольно простое верхний div служит для отображения статуса гаджета, позволяет увидеть, сколько минут осталось до обновления данных, а также поддерживает ручное обновление. Нижний div будет содержать в себе список серверов.

Gadget.xml

Мы укажем в манифесте минимально нужную информацию.

Miniip

Сестра, скальпель

Гаджет – это обыкновенный zip-файл, который внутри себя хранит нужную информацию для развертывания. Сам гаджет – это набор HTML, CSS, JavaScript файлов, изображений и т.д.

Гаджет состоит из нескольких файлов с условными названиями:


Для управления поведением, видом гаджета,, хранения данных используется специальный объект System.Gadget.

Темная сторона, люк

Самый главный файл – JavaScript. Сразу оговорюсь, alert и confirm в гаджетах не работают. Для отладки гаджета, можно воспользоваться Visual Studio, но для этого нужно выполнить два хитрых действия. Прежде всего, включить отладчик JavaScript в Internet Explorer

Добавить в нужном месте кода гаджета строку:

Гаджет:  Гаджеты HTC - купить в Москве и всей РФ | Интернет-магазин Top3DShop

debugger;

и перезапустить гаджет.

Мы объявляем две глобальных переменных, которые отвечают за время в минутах для обновления данных в гаджете, для меня оптимально 30 минут, а также счетчик отсчета оставшихся минут до обновления

var updateInterval = 30;
var updateMinutes = updateInterval;

Функция init содержит действия для инициализации гаджета, мне в данном случае было нужно установить прозрачность гаджета на 40%, чтобы он не перекрывал полностью кусочек рабочего стола.

function init() {
System.Gadget.Settings.write("PrivateSetting_GadgetOpacity", 40);
}

Функция запуска самого мониторинга, которая обновляет список серверов с их статусом, устанавливает интервал обновления данных, таймера в главном окне и так же добавляет обработчик события для ручного обновления статуса серверов.

function startMonitoring() {
init();

updateList();
setInterval(updateList, updateInterval * 1000 * 60);
setInterval(updateTimer, 1000 * 60);

statusLink.onclick = function() {
updateList();
}
}

Добавление обработчика на нажатие происходит в данном случае двумя способами:

element.onclick = function(){}
$(element).get(0).onclick = function(){}


Продвинутые способы в гаджетах не работают:

element.attachEvent('onclick', function(){})
$(element).bind('click', function(){})

Для обновления самого таймера маленькая функция updateTimer, которая каждую минуту рассчитывает сколько времени осталось до обновления.

function updateTimer() {
updateMinutes = updateMinutes == 0 ? updateInterval : updateMinutes - 1;
$('#statusLink').html('Update in ' updateMinutes ' m.');
}

И наконец, обновление списка серверов, для возвращенных данных я использую JSON, вид ответа примерно такой:

[{«ip»:«***.45.**.60»,«lastHitTime»:«2009-09-06 00:07:24»,«runningTasks»:«1»}]

Для получения самих данных – getJSON. Вы можете использовать и AJAX, он прекрасно работает в гаджетах. Прежде всего, используя getJSON мы можем отлаживать код в браузере, не добавляя его в гаджет, AJAX нам такое сделать не позволит. В зависимости от загрузки сервера, я закрашиваю ячейку разным фоном.

Умный дом: 19 гаджетов, которые сделают вашу жизнь проще

Умные колонки словно пришли к нам из фильмов про будущее. Эти маленькие устройства по голосовой команде включают музыку, заказывают еду с доставкой на дом, а также могут просто поговорить с владельцем на отвлеченную тему.

Чем полезна: с помощью голосовых команд может включать музыку, писать сообщение “ВКонтакте”, читать сказки детям и заказывать еду из “Макдоналдса”.

Умные выключатели, лампочки и розетки позволяют контролировать электричество и свет во всем доме с помощью смартфона. Через мобильное приложение владелец сможет включать и выключать электроприборы, выставлять таймер для включения прибора в определенное время, а также видеть, не перегружена ли электронная система. В случае аварийной ситуации умные розетки автоматически выключаются, что снижает угрозу коротких замыканий и пожаров.

Чем полезен: позволяет управлять светом и электроприборами в доме через смартфон; выключатель беспроводной и устанавливается в любое место.

Чем полезна: можно включать розетку голосом или через смартфон.

Чем полезен: анализирует потребление электроэнергии и отправляет все данные в смартфон владельца, работает по таймеру, управляется через смартфон.

Чем полезна: яркость регулируется, управляется через смартфон или с помощью сенсорной панели, не мерцает.

Чем полезны: управляются голосом или через смартфон, позволяют регулировать яркость.

Технологии не обошли стороной и домашних животных. Умные гаджеты позаботятся о любимцах, даже когда вас не будет дома. Можно не беспокоиться, что они останутся голодными.

Чем полезен: обеспечивает питомцу постоянный доступ к питьевой воде, очищает воду от шерсти, работает беззвучно.

Чем полезна: кормит питомца по расписанию, а также позволяет следить за количеством еды через смартфон.

Загрязненный воздух грозит множеством заболеваний в будущем. Однако современные гаджеты помогают отслеживать состояние воздуха в квартире и вовремя принимают меры.

Чем полезен: измеряет влажность воздуха и температуру.

Чем полезна: измеряет температуру, влажность и уровень кислорода в воздухе, управляется через смартфон.

Чем полезен: позволяет составить собственный микс для ароматизации помещения, работает по таймеру, управляется через смартфон.

Стирка и уборка отнимают много времени и сил. Умные гаджеты хоть и не могут полностью избавить людей от этого процесса, зато помогают экономить время.

Чем полезен: сам убирает квартиру, управляется через смартфон.

Чем полезна: машинка автоматически чистится и сушится после стирки, расходует минимум энергии, позволяет докинуть вещи прямо во время стирки через дополнительную дверцу.

Чем полезен: можно включать через смартфон, показывает уровень и температуру воды внутри прибора в мобильном приложении.

Чем полезен: система сама выращивает растения из семян — не надо поливать и следить за количеством света.

Умные гаджеты не только облегчают жизнь, но и делают ее безопаснее. С помощью устройств можно следить за происходящим в доме, находясь в любой точке мира. Владелец жилища будет получать уведомления на телефон при открытии двери или сможет наблюдать за квартирой через смартфон.

Чем полезна: легко установить дома, доступ к объекту съемки через смартфон.

Чем полезна: можно установить на дверь пароль и управлять замком квартиры через смартфон.

Чем полезен: можно переадресовывать картинку на смартфон, им же открывать двери и управлять умными замками во всем доме.

Чем полезна: помогает находить ключи и другие мелочи с помощью смартфона.

Оцените статью
GadgetManiac
Добавить комментарий