Определение текущего браузера.

Так уж получилось, что в настоящее время существует целый зоопарк различных браузеров для просмотра страниц. И все они могут отображать страницы чуть-чуть по разному. А иногда, когда браузер совсем старый, а в проекте используются новые технологии, страница может быть отображена совсем не верно.  Есть два пути решения — можно писать используя только те возможности, которые будет заведомо работать в самых распространенных браузерах. Если это не возможно, правилом хорошего тона считается предупредить пользователя, что в данном браузере страница может отображаться не корректно.

Самый простой способ определения браузера — при помощи Jquery. До версии Jquery 1.9, даный функционал у него в базе. После — предполагается что используется дополнительная библиотека «для поддержки старых проектов«. Описание API Jquery Browser здесь. Пример вот он:

boxModel: устанавливается в true, если страница обрабатывается браузером в соответствие с моделью W3C CSS Box Model (в настоящий момент не поддерживается в IE 6 и 7, когда они в режиме Quirks Mode). Пока документ полностью не загружен, данное свойство имеет значение null.

«Убираем за собой» или уничтожение обьектов в JavaScript

Сегодня столкнулся с тем что когда работаешь с JavaScript иногда приходится «подчищать» за собой. Например: подгружаем при помощи AJAX некий html в котором в есть в свою очередь код на JavaScript.

Вот подгружаемый код:

Т.е. чтоб не плодить  datepicker и редакторы tinymce каждый раз, как будет нажата кнопка «отредактировать», отлавливаем закрытие диалогового окна. После закрытия — уничтожаем объекты datepicker и редакторы tinymce. Т.е. если не уничтожите, может ничего страшного и не случится. Но потенциальная утечка памяти. Открыл-закрыл 10 раз — ушло 10 мегабайт.

Обычно я тоже не особо обращал внимание на такие мелочи, ибо не слишком часто сталкиваешься с ситуацией, что какой то объект  на странице нуждается в создании много раз.

Сервисное обслуживание Kyocera 2550

km2050Ну громко сказано конечно. А точнее мне понадобилось войти в сервисное меню и заставить «подкачать» тонер в бункер принудительно.

  • на правой клавиатуре набираем цифрами 10871087
  • вводим 130  в режиме обслуживания — команда «наполнить бункер тонером»
  • ждем примерно 9 минут
  • вводим 001 для выхода из режима обслуживания

zend framework 2, Yii и иже с ними.

Сегодня почти весь день ушел на то чтобы познакомится с этими фреймворками. Изначально хотел 3-ю версию «Учет ТМЦ в организации» попробовать написать с использованием одного из этих средств. Пока негатив. Слишком много телодвижений для получения простейших результатов. Плюс чувствую пришлось бы изобретать такие-же «велосипеды» что  используются сейчас у меня в предыдущей версии. Т.е. код явно бы не упростился, а выгоды от использования данного решения получил бы минимальные. Завтра подумаю над фреймворком ExtJs.

Кроссбраузерное подключение шрифтов в html и css

Пришлось помучатся сегодня с одинаковым отображением текста с подключаемыми шрифтами в IE, FireFox,Chrome. Очень пригодились онлайн конвертеры ttf2svg, ttf2eot и ttf2woff. Ниже приведен пример стиля ccs, который является кроссбраузерным:

1 216 217 218 219 220 283