Главная » Статьи » Статьи из Интернета » Разное |
Создание гаджетов для Windows SidebarГаджеты отличное дополнение к веб-сайту или сервису, они могут сообщать пользователю о новых публикациях, сообщениях, письмах, показывать постоянно изменяющуюся информацию (курсы валют, погоду), ускорять регулярные действия пользователя. Гаджет — это небольшая веб-страница, поэтому его создание не требует от веб-разработчика значительных усилий или освоения новых технологий. Содержание статьи:
Hello World!По старой традиции начнем с создания гаджета Hello World! Создайте два файла: gadget.xml — манифест гаджета
gadget.html — основной файл гаджета
Запакуйте их в zip архив с расширением gadget. Это и есть дистрибутив гаджета. Устанавливайте. После установки гаджет автоматически добавляется на сайдбар. Убедившись в простоте создания гаджета, перейдем к деталям. Пример гаджетаВсе описанное в статье собрано воедино в примере ExampleGadget. Файлы гаджетаПользовательские гаджеты находится в директории Простейший гаджет состоит из двух файлов, манифеста и основного, находящихся в поддиректории Подробный манифест включает информацию об авторе, описание, иконку и изображение, видимое при его перетаскивании на сайдбар:
HTML в основном файле гаджета практически ничем не отличается, от кода обычной веб-страницы.
Состояния гаджета: docked и undockedУ гаджетов есть два состояния docked и undocked. Максимальная ширина docked гаджета 130px, для undocked нет ограничений, рекомендуется не превышать 400px. Текущее состояние гаджета отражает переменная System.Gadget.docked, а при его изменении происходит событие System.Gadget.onUndock или System.Gadget.onDock. В обработчике изменения состояния нужно задать размеры body. Изменение класса body позволяет удобно управлять отображением внутренних элементов.
ФонФон гаджета задается с помощью элемента
Существует альтернативный способ задать фоновое изображение, через свойство Большинство гаджетов используют разное фоновое изображение для docked и undocked
состояний, изменение изображения и размеров фона происходит в функции
К фону могут быть применены эффекты, например, тень:
Эффекты несколько замедляют работы гаджета, но иногда могут быть полезны. Фоновый текст и изображения: g:text, g:imageЭлементы g:text и g:image добавляют текст или изображение к фоновому слою гаджета. Создать их можно с помощью методов addImageObject и addTextObject объекта g:background:
Также как и к фону, к этим элементам можно применить эффекты, например, blur и rotation: Несмотря на то, что их можно создать и в HTML, такие объекты не будут обладать всей присущей им функциональностью. НастройкиСохранить и получить параметры гаджета можно с помощью методов System.Gadget.Settings.writeString, System.Gadget.Settings.readString.
Ключи должны быть короче 1024 символов, а значения 2048 символов, значения длиннее урезаются. Параметры сохраняются при перезапуске сайдбара или компьютера, но удаляются при закрытии гаджета. Чтобы сохранять настройки гаджета при его удалении с сайдбара или хранить больше данных, чем позволяет сайдбар, используйте файлы (библиотека Persistent Settings упрощает работу с файлами настроек). Страница настроекЧтобы включить страницу настроек, нужно указать файл с ее разметкой:
После этого на тулбаре гаджета появиться пиктограмма, клик на которой открывает настройки гаджета. При закрытии окна настроек вызывается обработчик события System.Gadget.onSettingsClosed:
Пример скрипта для окна настроек:
Ширина страницы настроек не более 300px, а высота не ограничена (рекомендуется не превышать размеры 278x400px). FlyoutФлайаут это дополнительная страница позволяющая расширить интерфейс гаджета. За работу с флайаутом отвечает объект System.Gadget.Flyout. Флайаут для состояния undocked: Флайаут для состояния docked: Так же как и для страницы настроек, для флайаута нужно указать файл разметки:
Отображением управляет свойство Пример работы с флайаутом:
Чтобы изменять вид флайаута в зависимости от состояния гаджета меняем класс элемента body, сделать это нужно до того как флайаут отрендерится (фон и рамка не обновляются если изменены после отображения флайаута).
Протокол gimageПротокол gimage позволяет эффективно получать превью изображений (пытается использовать кеш превью Windows для изображений меньше 256x256px). Желаемый размер превью должен быть указан в запросе с помощью параметров width и height, если параметры не указаны, то они считаются равными 120, пропорции изображения сохраняются.
Для файлов не являющихся изображениями gimage позволяет получить иконки.
Несмотря на схожесть в названиях протокол gimage никак не связан с элементом g:image. ЛокализацияГаджеты поддерживают механизм локализации по папкам, т.е. при открытии любого ресурса (манифест, html, css, js, image) сайдбар ищет его в папках в следующем порядке:
Чтобы не хранить несколько версий каждого файла, отличающиеся только языком, создадим файл, содержащий определения строк и других локальных ресурсов, и будем подключать его в каждом файле, где они потребуются. locale.js
В скрипте вместо строк используются соответствующие элементы strings:
В html элементам требующим замены, зададим атрибут localize с именем строки из массива strings, а для локализации атрибутов будем использовать формат attrName:stringName:
В результате преобразования нам нужно получить:
JQuery позволяет быстро реализовать такую локализацию:
Сохраним этот код в
В корневой папке гаджета обязательно должны быть файлы локали по умолчанию, иначе его невозможно использовать в локали для которой нет локализованных файлов. Особенностиalarm и confirmВ гаджетах эти функции не работают, но хороший интерфейс и не предполагает их использования. onclickОбработчик
используйте свойство onclick:
Скорее всего, это связано с обработчиком перетаскивания гаджета. Если задан ОтладкаГаджет можно отлаживать с помощью Visual Studio. Для этого нужно разрешить использование отладчиков в настройках Internet Explorer. Добавить в нужном месте кода гаджета строку:
и перезапустить гаджет. Юзабилити гаджетовГаджет стоит использовать для отображения важной и регулярно обновляющейся информации, или для функционала, который часто требуется пользователю. Информация, которую отображает гаджет, должна быть доступной для периферического зрения, но не должна отвлекать внимание от повседневных задач. Не нужно стремиться к универсальности лучше оптимизировать гаджет для единственной задачи. Графическое оформление должно быть привлекательным и отражать задачу гаджета. Интерфейс гаджета должен быть привычным для Windows пользователя. Юзабилити гайдлайн по гаджетам БезопасностьГаджеты могут использовать любые установленные ActiveX объекты (но не могут их устанавливать) и получать доступ к любому домену. К файлам и приложениям гаджет получает доступ с правами пользователя, от имени которого запущен (за исключением администратора в Windows Vista). К установке гаджетов следует относиться не менее ответственно, чем к установке приложений. Gadgets for Windows Sidebar Security Распространение и установкаУстановочный файл гаджета, это zip архив с расширением gadget. При запуске такого файла
сайдбар распакует его в папку пользовательских гаджетов
Кроме zip, можно использовать форматы cab и msi. Чтобы гаджет устанавливался кликом по ссылке, mime-тип файлов .gadget должен быть a
Ссылки | |
Просмотров: 1308 | |
Всего комментариев: 0 | |