IE + WebKit? Или просто проапгрейдить IE?

Владимир | | Разное.

Проблемы IE уже неоднократно обсуждались в этом блоге. Но, похоже, эта тема «вечная» и сегодня я хочу провести небольшой опрос.

На днях мы с Serator'ом обсуждали эту тему и речь зашла о новом плагине от Google для Internet Explorer под названием Google Chrome Frame.

Для читателей, которые, как и я 🙂 , пропустили эту новость, кратко поясню, о чем речь. Этот плагин интегрирует рендерер из движка WebKit в IE.

Т.е. с IE внешне ничего не происходит, но странички он начинает показывать по-другому, также как и Chrome.
Читать дальше

Передача параметров в JavaScript файлы

Владимир | | HTML, JavaScript, PHP, Web разработка.

Приветствую всех!

Сегодня я хочу обсудить два способа передачи параметров в JavaScript файлы.

Прежде всего, объясню, в чем заключается проблема. Обычно в конфигурационных файлах серверных (PHP) скриптов хранится множество настроек. И к некоторым из них нужно получить доступ из JavaScript. Если все эти параметры собраны в одном месте (конфигурационном файле или БД), то значительно упростится поддержку приложения.

Существует два широко распространенных решения этой задачи.
Читать дальше

Circle Tasks 2: новая версия моего ToDo скрипта

Владимир | | Web разработка, Разное.

Приветствую всех читателей!

На днях я закончил работу над второй версией ToDo скрипта и теперь хочу о нёй рассказать 😉 И, самое главное, почитать ваши отзывы.

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

Думаю, представить себе простейший ToDo список могут все. Это просто перечень дел с отметками «выполнено / не выполнено».

Но существует множество вариантов усовершенствования такого списка. Например, можно придумать различные состояния для задач и обозначить их какими-нибудь символами. Такой подход значительно упрощает работу с большими списками, т.к. вы можете сортировать и фильтровать задачи по различным критериями (состояние, дата).

Для этого скрипта я использовал одну из таких систем обозначений. Её разработал Sigurdur Armannsson. Подробно её описание вы найдете в предыдущей статье.

Сейчас речь пойдет именно об изменениях по сравнению с предыдущей версией.
Читать дальше

Собственное оформление комментариев в WordPress

Владимир | | PHP, Web дизайн, WordPress.

Вы, конечно, знаете, что новые версии WordPress поддерживают древовидные комментарии.

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

В идеале разработчик темы WordPress должен использовать только параметры функции wp_list_comments (выводит список комментариев) и CSS стили.

Но идеальных вещей не существует в природе и WordPress – не исключение 🙂

В общем, стандартное оформление комментариев содержит несколько очень неприятных недостатков.

Например.

После имени комментатора выводится слово says:, которое нельзя изменить с помощью параметров wp_list_comments. Хотя, текст ссылки Reply можно изменить с помощью этой функции

wp_list_comments(array('reply_text'=>'Ответить'));

Вывод даты имеет фиксированный формат, что-то вроде сентября 7, 2009 at 9:29 am
Читать дальше

Боремся с Magic Quotes

Владимир | | Hosting, htaccess, PHP, Web разработка.

На днях я столкнулся с довольно неприятной ситуацией. Скрипт, который прекрасно работал на локальном сервере начал выдавать ошибки на сервере хостера.

Проблема оказалась мелкой и я все быстро исправил, но эта ситуация напомнила мне о законе подлости. Как только забываешь о тестировании – скрипты сразу перестают работать. Не зависимо от того, насколько они простые. 😉

В данном случае дело было во включенных Magic Quotes (волшебных кавычках, хорошее название, появляются как по волшебству там, где не надо 🙂 ).

Вообще-то, использование Magic Quotes не рекомендуемая практика.

В соответствующем разделе PHP manual ясно об этом сказано.

Warning

This feature has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.

Предупреждение

Эта возможность считается устаревшей начиная с PHP 5.3.0 и будет удалена начиная с PHP 6.0.0. Рассчитывать на эту возможность крайне не рекомендуется.

Кратко поясню смысл этой функции. Она перехватывает данные, которые получает скрипт (массивы $_POST, $_GET и т.д.) и экранирует в них специальные символы.

Была разработана для защиты от хакерских атак вроде SQL Injection.

Но на практике от нее больше проблем, чем пользы.
Читать дальше

Исправляем недостатки IE6

Владимир | | CSS, HTML, JavaScript, Web дизайн, Web разработка.

Думаю, все кто когда-нибудь занимался версткой сайтов, знает о том насколько хорошо IE6 поддерживает разные полезные возможности 😉

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

И на сегодняшний день игнорировать людей, которые используют устаревшую версию Internet Explorer нельзя.

К тому же для того чтобы обеспечить поддержку IE6 не обязательно отказываться от новых возможностей.

Сегодня я расскажу о двух проблемах, которые можно решить практически без усилий с вашей стороны. Это поддержка :hover селекторов и прозрачных png изображений.
Читать дальше

Локализация клиентской части web приложений

Владимир | | Ajax, JavaScript, PHP, Web разработка.

Сегодня я хочу рассказать о поддержке нескольких языков в клиентской части web приложений.

Прежде всего, определимся с задачей.

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

И если наше приложение не использует JavaScript, то можно считать задачу решенной.

Но на сегодняшний день JS используется все чаще и в основном для создания интерфейса, содержащего множество надписей, сообщений и т.п.

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

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

Теперь рассмотрим решение.
Читать дальше

jqGrid — поиск данных

Владимир | | Ajax, HTML, JavaScript, PHP, Web разработка.

Приветствую всех!

Я довольно давно обещал рассказать о функции поиска в плагине jqGrid и сегодня выполняю обещание.

Для тех, кто сразу хочет посмотреть, как это работает, я сделал демонстрационную страничку

Demo

и, конечно, можно скачать архив с примером

Source

Напомню, что jqGrid — это плагин для библиотеки jQuery, который значительно упрощает работу с таблицами данных.

Сразу хочу отметить, что эта статья — продолжение предыдущих двух частей (jQuery Grid Plugin — «продвинутое» решение для создания таблиц и jqGrid: редактирование табличных данных с помощью inline редакторов). Поэтому если вы впервые слышите о jqGrid — очень советую почитать хотя бы первую часть.
Читать дальше

PHP скрипт: ToDo с картинками

Владимир | | Ajax, CodeIgniter, CSS, htaccess, HTML, JavaScript, MySQL, PHP, Web разработка.

Уделяете ли вы внимание организации своей работы?
Много ли у вас «мелких» дел, о которых вы регулярно забываете?

Вроде бы простые вопросы, но для многих людей (и я не исключение) организация работы – это актуальная проблема.

Хуже всего, когда нужно сделать много «мелких» дел, которые не занимают много времени, но обязательно должны быть выполнены вовремя… и держать в голове их все просто невозможно.

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

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

Кстати, скрипт называется SimpleTasks.

Главная особенность – возможность указывать состояние выполнения задач. При этом используется специальная система обозначений.
Читать дальше

jqGrid – создание дополнительных кнопок

Владимир | | Ajax, JavaScript, Web разработка.

Пишу этот пост, т.к. недавно столкнулся с проблемой при использовании jqGrid. Об этом плагине для jQuery я уже рассказывал (часть 1, часть 2), поэтому повторяться нет смысла, скажу только, что, на мой взгляд, он представляет собой одно из лучших JS решений для работы с большими таблицами.

А проблема возникла, в общем-то, тривиальная – не достаточно подробная документация.

Дело было так. Один из читателей этого блога (Виктор Волков) попросил меня помочь добавить дополнительные кнопки в навигационную панель jqGrid. Я естественно отправил ему ссылку на соответствующую страницу справки 🙂 … Но при этом я не знал, что если скопировать код от туда, то работать он не будет.

Хотя их демонстрационные примеры с дополнительными кнопками прекрасно работают.
Читать дальше