Связаться с нами

  • (097) ?601-88-87
    (067) ?493-44-27
    (096) ?830-00-01

Статьи

Напишите свои собственные гаджеты

  1. Основные шаги
  2. Анатомия Гаджета
  3. Определение контента
  4. Указание DOCTYPE
  5. Определение пользовательских настроек
  6. Переменные замены предпочтений пользователя
  7. Определение настроек гаджета
  8. Куда пойти отсюда

Начиная знакомит вас с гаджетами. Следующий шаг - создание собственных гаджетов. Этот документ рассказывает вам, как.

Основные шаги

Вот основные шаги, которые вы выполняете для создания и развертывания гаджета:

  1. Используйте любой текстовый редактор, чтобы написать свою спецификацию гаджета, и разместите ее на общедоступном веб-сервере.
  2. Добавьте свой гаджет на сайт, на котором можно запускать гаджеты.

Анатомия Гаджета

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

  • Раздел контента. <Содержание> раздел, где происходит настоящая работа вашего гаджета. Здесь вы указываете тип гаджета, логику программирования и часто элементы HTML, которые определяют внешний вид вашего гаджета.
  • Пользовательские настройки. <UserPrefs> В разделе определяются элементы управления, которые позволяют пользователям указывать настройки для гаджета. Например, персонализированный гаджет приветствия может предоставить пользователям текстовое поле для указания их имен.
  • Настройки гаджета. <ModulePrefs> В разделе XML-файла указываются такие характеристики гаджета, как заголовок, автор, предпочтительный размер и т. д.

Примечание. Внутри атрибутов XML в спецификации гаджета необходимо «экранировать» (то есть правильно кодировать) определенные символы, чтобы они правильно интерпретировались. Для получения дополнительной информации см. Экранирование специальных персонажей ,

При написании гаджета вы должны начать с раздела <Content>.

Определение контента

Раздел <Content> представляет «мозги» гаджета. Раздел <Content> определяет тип контента и либо содержит сам контент, либо имеет ссылку на внешний контент. В разделе <Content> атрибуты гаджета и пользовательские настройки объединяются с логикой программирования и информацией о форматировании, чтобы стать работающим гаджетом.

Самый простой способ создать гаджет - просто поместить HTML (и, необязательно, JavaScript или Flash) в раздел <Content>. Опытные веб-разработчики могут читать Выбор типа контента другие параметры, относящиеся к управлению доступом, удаленному хостингу, использованию альтернативных языков сценариев и другим темам. Вот простой пример гаджета. Этот гаджет отображает активную фотографию, которая открывает фотоальбом на новой HTML-странице:

<? xml version = "1.0&quot; encoding = "UTF-8"?> <Module> <ModulePrefs title = "Перейти в фотоальбом" height = "250" scaling = "false" /> <Content type = "html"> <! [CDATA [<div style = "text-align: center"> <a id = "Riggs" title = "Мой фотоальбом" target = "_ blank" href = "http://picasaweb.google.com/doc .examples / ShelfBoy ">
<img border = "0" alt = "Фотография" src = "http://doc.examples.googlepages.com/Riggsie-OP.jpg"
title = "Нажмите здесь."> </a>
</ div>]]> </ Content> </ Module>

Указание DOCTYPE

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

Определение пользовательских настроек

Некоторые гаджеты должны предоставлять пользователям способ предоставления пользовательской информации. Например, игровой гаджет может позволить пользователям ввести предпочтительный уровень сложности. В разделе пользовательских настроек (<UserPref>) в файле XML описаны поля ввода пользователя, которые при запуске гаджета превращаются в элементы управления пользовательского интерфейса. Пользовательские настройки хранятся постоянно.

Примечание: Для более общего механизма сохранения, который не привязан к userprefs, см. OpenSocial постоянство API ,

Например, этот гаджет отображает личное приветствие в зависимости от времени суток. Это позволяет пользователям указывать следующее:

  • Имя для использования в приветствии. Имя также отображается в строке заголовка.
  • Цвет фона.
  • Независимо от того, чтобы отобразить фотографию.

Вот как гаджет выглядит, когда пользователь нажимает кнопку " Изменить", чтобы изменить его настройки:

Пользовательские настройки, которые превращаются в элементы управления пользовательского интерфейса в работающем гаджете, определены в спецификации XML следующим образом:

<? xml version = "1.0&quot; encoding = "UTF-8"?> <Module> <ModulePrefs title = "Предпочтения для __UP_myname__" height = "250" />
<UserPref name = "myname" display_name = "Name" обязательно = "true" />
<UserPref name = "myphoto" display_name = "Photo" default_value = "http://doc.examples.googlepages.com/rowan-headshot.jpg" />
<UserPref name = "mychoice" display_name = "Показать фотографию?" datatype = "bool" default_value = "true" />
<UserPref name = "mycolor" display_name = "Color" default_value = "Yellow" datatype = "enum"> <EnumValue value = "Red" /> <EnumValue value = "Aqua" /> <EnumValue value = "Lime" /> <EnumValue value = "Yellow" /> <EnumValue value = "Pink" /> <EnumValue value = "Orange" /> <EnumValue value = "White" /> </ UserPref>

Обратите внимание на следующее:

  • Строка 3 файла содержит текст title = "Настройки для __UP_myname__". Когда вы запускаете гаджет, значение, указанное для предпочтения пользователя myname, равно динамически замещенный для __UP_myname__.
  • Предпочтения пользователя myname помечены как «обязательные». Если пользователь пытается запустить гаджет без указания значения для этого поля, окно редактирования пользовательских настроек остается открытым до тех пор, пока не будет предоставлено значение.
  • Пользовательские настройки mychoice имеют тип данных bool. Это отображается в пользовательском интерфейсе как флажок.
  • Пользовательские настройки mycolor имеют тип данных enum. Список EnumValues ​​определяет варианты, которые появляются в раскрывающемся меню в окне редактирования пользовательских настроек.

Вот полный гаджет, включая JavaScript, который отображает приветствие для гаджета:

<? xml version = "1.0&quot; encoding = "UTF-8"?> <Module> <ModulePrefs title = "Предпочтения для __UP_myname__" height = "400" /> <UserPref name = "myname" display_name = "Name" default_value = "Rowan" /> <UserPref name = "myphoto" display_name = "Photo" default_value = "http://doc.examples.googlepages.com/rowan-headshot.jpg" /> <UserPref name = "mychoice" display_name = " Показать фото? datatype = "bool" default_value = "true" /> <UserPref name = "mycolor" display_name = "Color" default_value = "Yellow" datatype = "enum"> <EnumValue value = "Red" /> <EnumValue value = "Aqua "/> <EnumValue value =" Lime "/> <EnumValue value =" Yellow "/> <EnumValue value =" Pink "/> <EnumValue value =" Orange "/> <EnumValue value =" White "/> </ UserPref> <Content type = "html"> <! [CDATA [<div id = "content_div"> </ div> <script type = "text / javascript"> // Получить userprefs var prefs = new gadgets.Prefs () ; function displayGreeting () {// Получить текущее время var today = new Date (); var time = today.getTime (); var html = ""; // На основе времени суток отображаем соответствующее приветствие var hour = today.getHours (); var salutation = "День"; if (час <12) {salutation = "Утро"; } else if (час> 17) {salutation = "Вечер"; } // Установить цвет фона в соответствии с mycolor userpref var element = document.getElementById ('content_div'); element.style.height = 250; // Установить цвет фона в соответствии с mycolor userpref element.style.backgroundColor = prefs.getString ("mycolor"); // Отображение приветствия на основе myname userpref html + = "<br> <FONT SIZE = 6> Good" + salutation + "," + prefs.getString ("myname") + "!!! &lt;br> <br > </ FONT> "; // Если "Показать фото?" флажок установлен, показывать фото. if (prefs.getBool ("mychoice") == true) {html + = '<img src = "' + prefs.getString (" myphoto ") + '">'; } element.innerHTML = html; } // Передаем userprefs для этого экземпляра модуля в функцию // (позволяет пользователям включать несколько экземпляров модуля на свою страницу) gadgets.util.registerOnLoadHandler (displayGreeting); </ script>]]> </ Content> </ Module>

Список всех атрибутов <UserPref> см. В Ссылка ,

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

<script type = "text / javascript"> var prefs = new gadgets.Prefs (); var someStringPref = prefs.getString ("StringPrefName"); var someIntPref = prefs.getInt ("IntPrefName"); var someBoolPref = prefs.getBool ("BoolPrefName"); </ Скрипт>

Список всех функций JavaScript см. В Справочник по JavaScript ,

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

Переменные замены предпочтений пользователя

Вы можете использовать переменную подстановки в формате __UP_ userpref __ в разделах <ModulePrefs> или <UserPref>, где userpref соответствует атрибуту имени пользовательской настройки. Когда гаджет запускается, строковое значение соответствующего пользовательского предпочтения подставляется вместо переменной unescaped. Например, в этом отрывке значение, предоставляемое пользователем во время выполнения для пользовательских настроек проектов , заменяется на __UP_projects__ в строке title_url :

<Module> <ModulePrefs title = "Монитор сборки" title_url = "http://www.example.com/build/status.php?__UP_projects__" /> <UserPref name = "projects" display_name = "project (s)" / > <Content ... /> </ Module>

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

Вот общие рекомендации по использованию пользовательских переменных подстановки:

  • Для атрибута заголовка <ModulePrefs> используйте __UP_ name __. Это HTML маскирование ,
  • Для атрибута <ModulePrefs> title_url используйте __UP_ name __. Это URL маскирование ,
  • В HTML в разделе <Content> используйте __UP_ name __. Это HTML-экранирование.
  • В коде JavaScript в разделе <Content> используйте функцию gadgets.Prefs ().

Определение настроек гаджета

В разделе <ModulePrefs> в файле XML указываются такие характеристики гаджета, как заголовок, автор, предпочтительный размер и т. Д. Например:

<Модуль>
<ModulePrefs title = "Сегодняшний сетевой трафик" title_url = "http: // www / ~ rowan / gadgets / stats /"
height = "200" author = "Джейн Смит" author_email = "[email protected]" />
<Содержание ...>
... содержание ...
</ Content>
</ Module>

Пользователи вашего гаджета не могут изменять эти атрибуты.

Полный список атрибутов <ModulePrefs> см. В Ссылка ,

Куда пойти отсюда

Когда вы будете готовы писать более сложные гаджеты, перейдите на Основы развития или вернуться к домашняя страница документации для обзора разделов и тем.

Вернуться к началу

Похожие

Будут внесены изменения в закон о техническом надзоре
Мы хвалим вас! Большинство наших клиентов - послы образовательного портала Мы представляем результаты теста удовлетворенности, рекомендаций и рекомендаций для клиентов знаний и практики и образовательного портала, проведенного компанией «Маркетинговые отношения». Опрос
Международные склады в глобальной электронной коммерции: руководство по расширению
«В любой конкретный день, - писал Томас Л. Фридман в « Мире плоском » , - 2% мирового ВВП можно найти в грузовиках, доставляющих UPS, или в пакетных автомобилях». Еще в 2005 году, когда книга была впервые опубликована, ее стоимость составила бы 1,16 триллиона долларов. Сегодня это число составляет около 2,32 триллиона долларов. Коммерция вышла на международный уровень. И так же, как Фридман был в 2005 году, он еще более прав сегодня: мир плоский. Это значит одно
Работа с удаленным контентом
В этом документе описывается, как извлекать и обрабатывать удаленные текстовые (обычно HTML), XML и JSON данные с помощью функции makeRequest (). Функция makeRequest () - это всего лишь один из методов получения удаленных данных. Для обзора различных подходов, которые вы можете использовать, см. Руководство для разработчиков удаленных запросов данных , Вступление Для обзора
Презентация репетитора с использованием видео CV
Репетиторство давно ассоциируется не только с подготовкой к школе или зрелости. Каждый день в польском Интернете появляются сотни тысяч новых репетиторских объявлений по различным предметам. Вы можете видеть рекламу от нешкольных предметов все чаще и чаще. Широкий спектр репетиторства привел к тому, что конкуренция среди репетиторов возросла, поэтому необходимо использовать наиболее эффективные методы продвижения их репетиторской работы. Одним из таких способов, который привлекает трафик
Adobe Reader для Mac: обзор, функции и лучшие альтернативы
Впервые выпущенный в 1993 году Adobe Reader можно найти на бесчисленных домашних, школьных и корпоративных компьютерах по всему миру. Это бесплатное средство просмотра PDF доступно на большинстве основных языков, а его всесторонняя поддержка формата файла PDF часто используется в качестве ориентира для встреч других приложений PDF. Но только потому, что Adobe Reader является наиболее распространенным средством просмотра PDF на Mac и других операционных системах, не обязательно означает, что
Объектив Canon EF 24-70мм f4 L IS USM
Вернуться к началу Объектив Canon EF 24-70 мм f / 4 L IS представляет собой высокопроизводительный зум-объектив со стабилизацией изображения (IS) и встроенным ультразвуковым мотором (USM), который обеспечивает быструю почти бесшумную фокусировку. Этот объектив состоит из 2 ультранизких дисперсий (UD) и 2 асферических элементов, обеспечивающих превосходное качество изображения. Диафрагма с 9 лопастями обеспечивает привлекательную мягкую размытость вне зон фокусировки.
политика конфиденциальности
Мы очень серьезно относимся к вашей конфиденциальности и стремимся обеспечить защиту вашей личной информации в соответствии со всеми применимыми законами Новой Зеландии. В этой политике описывается, что, почему и как мы собираем и используем вашу личную информацию, как мы ее защищаем и как вы можете с нами связаться. Sony New Zealand Limited ( Sony New Zealand ) (NZBN 9429039024756) - компания Sony Group, ответственная за потребительскую и профессиональную электронику, услуги и
Quot; encoding = "UTF-8"?
Quot; encoding = "UTF-8"?
Quot; encoding = "UTF-8"?
Jpg" /> <UserPref name = "mychoice" display_name = " Показать фото?
Lt;br> <br > </ FONT> "; // Если "Показать фото?
Php?

Новости

Пиротехника своими руками в домашних
Самые лучшие полезные самоделки рунета! Как сделать самому, мастер-классы, фото, чертежи, инструкции, книги, видео. Главная САМОДЕЛКИ Дизайнерские

Фольгированные шары с гелием
Для начала давайте разберемся и чего же выполнен фольгированный шар и почему он летает дольше?! Как вы помните, наши латексные шарики достаточно пористые, поэтому их приходится обрабатывать специальным

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

Как сделать красивую снежинку из бумаги
Красивые бумажные снежинки станут хорошим украшением дома на Новый год. Они создадут в квартире атмосферу белоснежной, зимней сказки. Да и просто занимаясь вырезанием из бумаги снежинок разнообразной

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

Надувные шарики с гелием с доставкой
На праздники часто бывают востребованы воздушные шарики, надутые гелием. Обычно, их покупают уже готовыми (надутыми) и привозят на праздник. Или, приглашают специалистов, которые приезжают и надувают

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

Аниматоры на детские праздники в Зеленограде
Уж сколько раз твердили миру…Что готовиться ко дню рождения нужно заранее, а не бегать в предпраздничный день угорелой кошкой. Нельзя впихнуть в 24 часа дела, рассчитанные на недели. К празднику нужно