|
Если Вам нужен качественный хостинг и Вы непротив сэкономить 10% на его покупке, то Вы можете воспользоваться моим специальным предложением по скидке на хостинг от компании Ютекс.
|
Создание виджета для чтения RSS каналов
Вы будете очень удивлены, узнав какое количество информации доступно в Интернете через RSS и ATOM каналы - поиск в твиттере, напоминания гугл, собственные и другие блоги и многое другое. Вам просто необходимо найти оранжевую иконку и Вы точно найдете массу полезной информации, которая так и ждет, чтобы быть задействованной. Сегодня мы займемся созданием красивого виджета для чтения подобных лент. Он будет извлекать любую ленту и отображать ее в любом месте сайта. Вы можете настроить его таким образом, чтобы он отображал последние сообщения с разных категорий блога, или упоминания о Вас в твиттере, или все что угодно :). Решение проблем Прежде чем начать разработку, нам необходимо прояснить что именно мы хотим и какие проблемы реализации у нас могут возникнуть. И найти их решения, конечно же. Проблема 1 - чтение лент Виджет не содержит серверной части, поэтому нам необходимо найти способ считывать ленты с помощью JavaScript. Ajax великолепная технология, но она имеет ограничения безопасности и позволяет работать только в пределах одного домена. Это означает, что внешние ленты нам будут недоступны. И тут нам поможет YQL. Этот сервис читает ленту и делает ее доступной нашему скрипту в качестве JSON объекта, который мы можем вывести на странице. YQL - бесплатный API сервис от Yahoo, с помощью которого Вы можете делать намного больше, чем просто читать ленты. Он служит шлюзом между Вашим и любым другим АПИ и позволяет Вам манипулировать ими с помощью легкого синтаксиса по типу SQL. Больше информации можно найти тут. Настройка YQL требует небольших усилий, однако (нам необходимо динамически включить тег <script> в шапку сайта). К счастью, jQuery способен на это - есть метод под названием getJSON. Проблема 2 - Разные форматы лент Существуют разные форматы лент - RSS1, RSS2 и ATOM. Они отличаются друг от друга. Наш код должен уметь считывать результаты, которые выдает YQL и выводить их на страницу. Эту проблему мы решим с помощью отдельной функции с несколькими логическими или\или ( || ) в нашем коде. Проблема 3 - Недостаточно места Тут уже проблема разметки, но она не менее важна. Поскольку боковые панели у сайтов обычно маленькие нам необходимо вместить несколько лент в довольно маленькое место. Вкладки тут вряд ли помогут, а вот выпадающий список будет в самый раз.
Приступим к созданию... Шаг 1 - XHTML Первая часть урока содержит базовую разметку. demo.html
Поскольку все в нашем виджете зависит от JavaScript его нет смысла показывать, при отключенном в браузере JS. И поэтому feedWidget спрятан с помощью display:none в стилях. А показывается он с помощью метода jQuery show().
Шаг 2 - CSS styles.css - часть 1
Обратите внимание на то, что мы определяем специальный класс при наведении на слой #activeTab, вместо обычного :hover псевдокласса. Это сделано потому, что стиль при наведении должен быть применен только в случае наличия нескольких источников лент, что невозможно определить используя CSS. Это будет сделано с помощью JS. styles.css - часть 2
Тут мы оформляем внешний вид зоны, в которой будут выводиться сообщения.
Шаг 3- jQuery После подключения фреймворка в шапке документа мы можем использовать методы для построения сложных взаимодействий. script.js - часть 1
Объект tabs содержит записи о разных источниках, которые мы будем использовать вместе с функцией, которая будет выводить ленты на страницу. В конце мы выводим один источник (в скобках функции showTab) для отображения сразу после загрузки страницы. script.js - часть 2
Функция showTab берет название вкладки в качестве параметра и показывает ее в виджете, после формирования YQL URL, и чтения его с помощью метода getJSON. После этого, ответ проходит цикл с помощью $.each и вызывается функция. script.js - часть 3
В последней части у нас 2 функции - twitter и rss. Они берут объект (переданный из $.each d showTab()) и находят путь к ссылке и названию элемента ленты. Вот и все готово! Пользуйтесь! :) Данный урок подготовлен для Вас командой сайта http://ruseller.com Оценивать уроки могут только зарегистрированные пользователи Если хотите не упустить данный урок, добавьте его в закладки Пять последних добавленных уроков в рубрике Разное: »Хотите использовать JSON, но не знаете с чего начать? »Обзор инструментов для кросс-браузерного тестирования. »7 пунктов JavaScript, которые облегчат жизнь новичкам »20 советов по оптимальному использованию MySQL »10 бесплатных редакторов для веб страниц Зарегистрируйтесь, чтобы иметь возможность добавлять комментарии Комментарии: Автор: Stakan (2010-02-13 09:32:29) О, клас, давно искал что-то подобное!)) Спасибо! Автор: Alexxhub (2010-02-13 04:52:02) О, наконец-то перевели, а то давно изучил, но на английском осталось много недосказанного для меня Автор: НикитаКратинов (2010-02-12 18:40:36) Спасибо пригодиться. :) |
Если Вы давно мечтаете о создании собственного блога на движке Wordpress, то советую Вам обратить внимание на мой новый видеокурс "Wordpress - Профессиональный блог за один день". Это более 100 видеоуроков по всем аспектам создания и ведения своего блога на самом популярном движке в мире.
Меня часто спрашивают, как я раскручивал данный сайт? Мой ответ таков. Для раскрутки данного сайта использовалась методика "Мастер план по раскрутке сайта", которая была предложена Юсуфом Губайдуллиным в начале 2009-го года.
|
||








Автор: Игорь (2010-02-13 10:10:32)
Супер!!!