cover.png

Оригинальный новогодний спецэффект для сайтов

Нашел интересный ява-скриптовый спецэффект, которым под Новый Год можно украсить страницы сайта. Нет, это не доставшие всех снежинки, это ёлочная гирлянда, лампочки которой весело лопаются при наведении на них курсора мыши. Почти что пупырчатый полиэтилен :)

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

Есть, правда, у этого скрипта два недостатка:

  • он принципиально не работает в IE;
  • глючит при одновременной работе с jQuery, так как тоже объявляет функцию с именем $, чтобы исправить этот глюк достаточно в файле christmaslights.js переименовать все строки $ на что-нибудь другое, например $_.

Backbird — скажи "прощай" алертам или удобная отладка java-script.

Нашел очень удобный инструмент для отладки ява-скриптов — библиотеку Blackbird. Её необходимо скачать и подключить к необходимой странице, после чего на странице появится удобная консоль, в которую можно будет выводить отладочные сообщения. Сообщения делятся на типы — debug, info, warning, error, а в консоли предусмотрены фильтры по типам.

Любимый многими разработчиками, в том числе и мной, Firebug обладает значительно более широким функционалом, но у Blackbird есть одно преимущество — он совместим с браузерами Firefox 2+, Inernet Explorer 6+, Opera 9+, Safari 2+ и Google Chrome. Firebug Lite, который также как и Blackbird работает со всеми перечисленными бразуерами, уступает ему по возможностям.

Читать дальше ➠

Получение заголовков (HTTP-headers) страницы при помощи Java-script

В журнале Smashing Magazine наткнулся на скрипт (плагин для jQuery), позволяющий автоматически рядом с ссылками указывать размер файла, на который указывает эта ссылка. Оказалось, что этот скрипт в своей работе использует полезный сервис, под названием json-head, который на входе принимает любой URL, а на выходе в формате JSON отдает заголовки, которые получил от сервера.

Анализируя эти заголовки можно на стороне клиента придумать много полезных фишек, кроме указания размера документа, на который ведет ссылка, можно, например, подсвечивать ссылки на недавно обновленные страницы (заголовок “Last-Modified”) или нерабочие ссылки (анализ переменной “status_code”).

Все те же действия можно проделывать и не используя сторонние сервисы, но в таком случае опрос удаленных серверов и анализ заголовков придется реализовать на стороне своего сервера, со всеми вытекающими отсюда достоинствами (независимость от сторонних сервисов и того, включена на стороне клиента поддержка Java-script или нет) и недостатками (в случае большого количества запросов забанят ip вашего сервера, а не ip сервера http://json-head.appspot.com ну и необходимость разработки собственного решения).

Кстати, с помощью этого сервиса, совершенно случайно выяснил, что Гугл работает с использованием веб-сервера собственной разработки — gws, по данным из Википедии на этом ПО работает 9,3% всех сайтов в интернете, то есть Гугл — это и есть почти 10% интернета!

Читать дальше ➠

Странное поведение Java-script в IE. Один и тот же скрипт в Firefox работает, а в IE – нет.

Столкнулся со странной проблемой, на решение которой убил пол дня. Один и тот же скрипт в Firefox’e работает корректно, а в IE – нет. Дальше приведено решение проблемы.

Читать дальше ➠

AJAX. Обмен данными между клиентом и сервером, закачка на сервер файлов без перезагрузки страницы при помощи библиотеки jQuery.

Задача

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

Средства

Frontend (клиентская часть) – библиотека jQuery версии 1.1.4 и плагин к ней ajaxUpload;

Backend (серверная часть) – Apache (любой версии), PHP 5.2.3, MySQL. В PHP 5.2.0 появились встроенные средства для работы с данными в формате JSON, которые используются в этом примере, если на вашем хостинге установлена более старая версия PHP, то эти функции придется написать самостоятельно.

Читать дальше ➠