Формочки для редактирования
Почти все web-девелоперам приходится сталкиваться с противным нюансов информационных систем – данные, попадаемые в них, требуют корректировки и подвергаются редактированию. Сей печальный факт – достаточно грустное событие для разработчика, которому добавление пары рутинных операций в когорту того, что надо сделать, вообще не улыбается, а если система большая, а формы строятся не на мета-описании… тут и подумать страшно. Тем не менее делать все таки придётся.
Рассмотрим простейшую задачку. У нас есть таблица из пары столбцов, определяющая псевдонимы IP-адресов. Это очень полезно, потому как память у сисадминов обычно не внушает доверия (как и у многих ИТ-шников, в том числе и у меня) и они могут зависать на журнале потребления трафика надолго, вспоминая, какой машине принадлежит следующий IP-адрес. Соответственно для избежания сего безобразия требуется таблица соответствий. Которая, как назло, имеет свойство меняться.
Подробнее »»
Очередная кроссбраузерность
Вы, наверное, любите делать сайты с применением AJAX. И наверняка души не чаете в библиотеке Prototype и браузере Mozilla Firefox с плагином FireBug. Последний, кстати, здорово помогает, когда что-то вполне очевидное перестает работать как надо.
Все бы ничего, но чтобы вэб-разработчикам жизнь малиной не казалась, существует «мировой заговор браузеров». Иными словами, то, что вполне адекватно работает в одном браузере, может успешно неработать в другом.
Подробнее »»
IE не дает нам покоя
IE6 – очень старая версия браузера. Потому проблем с ней – вагон и маленькая тележка.
Простейший пример – JavaScript-код, использующий AJAX будет прекрасно работать и в Опере, и в ФайрФоксе, но… не в IE! Первый и очевидный баг – т.н. ошибка -1072896658 (как вам число?).
Детектируется она просто – либо достаточно отловить исключение от XHR, или в Prototype (если вы используете именно эту библиотеку, впрочем и в jQuery, и DoJo есть тоже свои приемчики) повесить обработчик:
1 2 3 4 5 6 7 | onException: function(xhr, exception) { var description = ''; for (var property in exception) { description += property + '=' + exception[property] + '\n'; } alert('Exception: ' + exception + '\n' + description); } |
Рецепт избавления от ошибки очень прост:
1. выставите принудительно правильную кодироку, понимаемую IE путем жестко прописывания Content-Type: text/html; charset=utf-8 с соблюдением регистра и правильности названия кодировки (проверить просто – при непосредственном вызове скрипта IE сам должен достоверно определять кодировку)
2. если используете PHP – не забудьте поменять в файле конфигурации кодировку по умолчанию.


