Недавно мне потребовалось реализовать сабмит формы по AJAX. При этом форма должна загружаться в попапе. Казалось бы задача тривиальная, но оказалось что все же есть подводные камни.
Задача решается для Drupal 7. В качестве библиотеки для создания popup'ов используется fancybox.
Читать полностью »
Рубрика «ajax» - 12
Загрузка и отправка формы по AJAX на Drupal 7
2012-07-12 в 18:48, admin, рубрики: ajax, drupal, php, метки: ajax, drupal, PHPПарсинг BEncode на JavaScript. Просмотр торрент-файлов в Firefox
2012-07-11 в 22:36, admin, рубрики: ajax, bencode, Firefox, javascript, p2p, Peer-to-Peer, rutracker.org, torrent, xmlhttprequest, метки: ajax, bencode, firefox, javascript, p2p, Peer-to-Peer, rutracker.org, torrent, xmlhttprequestI. Зачем
Есть несколько способов просматривать торрент-файлы: в торрент-клиенте, в BEncode Editor, в файловых менеджерах с плагинами, возможно в сетевых сервисах (но это немножко стрёмно).
Но не всегда удобно вызывать из браузера внешнюю программу. Не всегда эта программа выдаёт полную информацию. Не всегда в удобном виде. Не всегда с возможностью поиска. Поэтому хотелось бы иметь в браузере простой способ просмотреть торрент-файл, чтобы, например:
— узнать содержимое раздачи;
— узнать количество файлов в раздаче;
— узнать информацию о файлах (некоторые трекеры очень снисходительны к полноте описаний, а в торрент-файлах появляется всё больше информации о файлах — например, разрешение, видео- и аудиокодеки, продолжительность фильмов и т. д.);
— узнать информацию о самом торрент-файле (время создания, трекеры, флаг приватности и т. д.);
— иметь возможность текстового поиска по всей информации.
Читать полностью »
Велосипед: альтернатива iframe на jQuery.ajax как инструмент разработки mash-up приложений. Есть ли смысл?
2012-06-30 в 6:00, admin, рубрики: ajax, iframe, iframe приложения, javascript, jquery, Веб-разработка, Идеи для стартапов, стартап, метки: ajax, iframe, iframe приложения, javascript, jquery, стартап
Всем привет! Хочу предложить вниманию сообщества технический механизм, позволяющий без лишних усилий сделать iframe-подобное приложение, работающее на ajax. В качестве основы использованы jQuery и easyXDM.
Техническое описание, прототип, предположения о возможных вариантах использования и сомнения под катом.
Индикаторы ключевой информации на сайтах для Firefox на скорую руку
2012-06-26 в 23:58, admin, рубрики: ajax, Firefox, javascript, xhr, xmlhttprequest, метки: ajax, firefox, javascript, xhr, xmlhttprequestУ многих из нас есть на примете набор сайтов, которые мы периодически открываем не для внимательного чтения, а чтобы бегло ознакомиться с каким-то небольшим участком информации, посмотреть, нет ли новых статей или комментариев, проверить, не сменился ли какой-нибудь параметр и так далее. Сайты часто предоставляют для таких нужд rss или почтовую рассылку, но так бывает далеко не всегда. Попробую описать один из способов автоматизации подобной рутины.
История одного расследования о странном поведении XMLHttpRequest в новых версиях Firefox
2012-06-16 в 22:53, admin, рубрики: ajax, dom, Firefox, html, javascript, rutracker.org, xhr, xmlhttprequest, метки: ajax, dom, firefox, html, javascript, rutracker.org, xhr, xmlhttprequestI. Суть проблемы.
В список основных предназначений XMLHttpRequest, конечно, не входит запрос HTML, чаще этот инструмент взаимодействует с XML, JSON или простым текстом.
Однако связка XMLHttpRequest + HTML хорошо работает при создании расширений к браузеру, которые в фоновом режиме опрашивают на предмет новостей сайты, не предоставляющие для этого почтовую подписку, RSS или другие экономные API или предоставляющие эти сервисы с какими-то ограничениями.
При создании нескольких расширений для Firefox я сталкивался с такой необходимостью. Работать с полученным от XMLHttpRequest кодом HTML при помощи регулярных расширений — способ очень ненадёжный и громоздкий. Получить DOM от XMLHttpRequest можно было лишь для правильного XML. Поэтому приходилось следовать хитрым советам на сайте разработчиков. Однако начиная с Firefox 11 появилась возможность непосредственного получения DOM от XMLHttpRequest, а в Firefox 12 была добавлена обработка таймаутов.
Я испытал новую возможность на создании мини-индикаторов новых топиков для двух небольших форумов, и это оказалось очень удобным (50 строчек кода плюс расширение CustomButtons — вот и готовый индикатор за пять минут, с опросами по таймеру и четырьмя состояниями: нет новостей, есть новости, ошибка и таймаут). Всё работало как часы.
Поэтому я попытался убрать из кода своих расширений все прежние костыли и ввести туда новый удобный парсинг. Однако при работе с сайтом rutracker.org возникла странная проблема (тестирование проходит на последней ночной сборке под Windows XP; очень прошу прощения за все косяки в коде и формулировках: у меня нет программистского образования и опыт мой в этой сфере, к сожалению, очень невелик.).
Делаем динамическую загрузку JavaScript ручками
2012-06-09 в 8:01, admin, рубрики: ajax, javascript, script, метки: ajax, javascript, script Доброго времени, дорогие читатели!
Хотелось бы поделиться небольшим кусочком кода, который позволяет подгружать файлы JavaScript динамически.
Читать полностью »
В статье рассмотрены вопросы использования AJAX в компонентах, модулях и плагинах Joomla.Читать полностью »
Защита ajax-приложения от Cross Site Request атак (CSRF)
2012-05-28 в 5:33, admin, рубрики: ajax, csrf, jquery, php, token, информационная безопасность, метки: ajax, csrf, jquery, PHP, tokenСовсем недавно у меня появилась задача защитить web-приложение полностью построенное на ajax от CSRF-атак.
Каков же механизм такой атаки? Суть заключается в выполнении запроса с другого сайта под авторизационными данными пользователя. Например, у нас есть действие удаления своего аккаунта example.com/login/dropme. Если защиты от CSRF атаки нет, мы можем на нужном нам сайте разместить тег:
<img src="http://example.com/login/dropme">
Сразу после того как пользователь зайдет на приготовленную нами страницу и подгрузит содержимое img, его аккаунт на example.com будет удален. О защите от этого я расскажу под катом.
Индексация AJAX-сайтов поисковым роботом Яндекса
2012-05-21 в 8:31, admin, рубрики: ajax, индексация, поисковая оптимизация, яндекс, метки: ajax, индексация, яндексРады сообщить, что улучшения индексации AJAX-сайтов Яндекс поддержал изменения в поисковом роботе и правилах обработки им URL таких сайтов.
Технология AJAX пользуется большой популярностью. Однако то, как содержимое страницы «видит» браузер и пользователь, отличается от того, как страницу «видит» робот поисковой системы. Например, пользователь видит удобный интерфейс с динамически подгружаемыми страницами, в то время как содержимое той же страницы для поискового робота может быть пустым или представленным в виде остального статического HTML-контента страницы, для генерации которого не используются скрипты.
При создании AJAX-сайтов могут использоваться URL с #, но такой URL не используется поисковым роботом. Как правило, часть URL после # отсекается. Поэтому вместо URL вида site.ru/#example он обращается к главной странице сайта, расположенной по адресу site.ru. Это значит, что контент страницы может не проиндексироваться и, как следствие, не попасть в результаты поиска.
Теперь вебмастер AJAX-сайта может указать поисковому роботу Яндекса на необходимость индексации, поддержав соответствующую схему в структуре сайта. Для этого нужно:
Javascript BMP Parser
2012-05-16 в 16:31, admin, рубрики: ajax, data processing, file api, html, html5, javascript, обработка изображений, метки: ajax, data processing, file api, html5, javascriptВступление
Еще с появления скриптов для отображения PDF, извлечения информации с MP3 и декодировки H.264 меня очень заинтересовала тема чтения и работы с бинарными данными в JavaScript.
В этом посте хотелось бы рассказать про свои эксперименты и рассмотреть эти возможности на примере «ручного» парсинга и отображения BMP-файлов (а заодно и освежить память о школьных временах работы с BMP на Паскале :) ).
Сразу хочу предупредить, что речь будет идти именно о написании JavaScript самостоятельно, а не его генерации с исходных кодов других языков с помощью какого-либо транслятора типа Emscripten.Читать полностью »
