JavaScript → DOM-shim для всех браузеров включая IE < 8
Доброе время суток уважаемые хабражители.
Многие javascript-программисты сталкивались с не поддерживанием некоторых функций DOM JS API в некоторых браузерах (не будем показывать пальцем). Наверняка, многие знакомы с замечательными библиотеками es5-shim и DOM-shim для решения проблем совместимости между разными браузерами, а DOM-shim к тому же, «подтягивает» браузер до уровня DOM4.
В данной же статье я расскажу, как сделать DOM-shim в IE6 и IE7, чтобы навсегда забыть о существовании этих браузеров.
Многие javascript-программисты сталкивались с не поддерживанием некоторых функций DOM JS API в некоторых браузерах (не будем показывать пальцем). Наверняка, многие знакомы с замечательными библиотеками es5-shim и DOM-shim для решения проблем совместимости между разными браузерами, а DOM-shim к тому же, «подтягивает» браузер до уровня DOM4.
В данной же статье я расскажу, как сделать DOM-shim в IE6 и IE7, чтобы навсегда забыть о существовании этих браузеров.
Персональные блоги → IE7 — браузер для мазохистов
Недавно проверял в нескольких браузерах как выглядит верстка. При запуске IE7, случайно обратил внимание на панель Избранного. На ней по умолчанию есть пара кнопок, одна из которых — «Получить больше дополнений». Так как фраза длинная, она сокращается в половину и добавляется многоточие.
Каскадные Таблицы Стилей → Целебное зелье для IE5+ или IE7.js
Разбирая код очередного проекта внутри тега
Только одно слово «IE9» меня пустило в замешательство. Первое что пришло мне в голову — это то, что при помощи этого .js кода браузеры под печальным клеймом Internet Explorer можно заставить работать используя свойства многообещающего IE9. Больше всего я ожидал что будут доступны свойства CSS3.0, но не тут-то было!
head наткнулся на интересный код:<!--[if lt IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta3)/IE9.js"></script>
<![endif]-->
Только одно слово «IE9» меня пустило в замешательство. Первое что пришло мне в голову — это то, что при помощи этого .js кода браузеры под печальным клеймом Internet Explorer можно заставить работать используя свойства многообещающего IE9. Больше всего я ожидал что будут доступны свойства CSS3.0, но не тут-то было!
Каскадные Таблицы Стилей → eCSStender: модульное средство реализации свойств CSS3 в прежних браузерах
Помните ли, как (много лет подряд) был известен проект IE7-JS (автор — Dean Edwards), нацеленный на подтягивание Internet Explorer 6 (а затем и Internet Explorer 7) до уровня современных браузеров?
Теперь другой разработчик развил эту идею. В последнее время появляются ведь и такие свойства CSS3, которые поддерживает только один современный движок (например, WebKit), или даже не поддерживает ни один (потому что все движки требуют к этому свойству своих префиксов:«-moz-», «-ms-», «-o-», «-webkit-» — а иначе не работают). Все браузеры нуждаются в костылях (более или менее основательных) для поддержки CSS3.
Библиотека eCSStender (автор — Aaron Gustafson) претендует на роль основы именно такого костыля. Я говорю «основы», так как сама по себе она предоставляет лишь небольшую (≈20 Kb JS) платформу, занимающуюся анализомCSS-стилей — а поддержкою конкретных CSS-свойств должны заниматься (работая поверх неё) отдельные расширения, написанные в соответствии с документацией. Сейчас есть ужé с полдюжины расширений, из которых половина — костыли для IE.
Теперь другой разработчик развил эту идею. В последнее время появляются ведь и такие свойства CSS3, которые поддерживает только один современный движок (например, WebKit), или даже не поддерживает ни один (потому что все движки требуют к этому свойству своих префиксов:
Библиотека eCSStender (автор — Aaron Gustafson) претендует на роль основы именно такого костыля. Я говорю «основы», так как сама по себе она предоставляет лишь небольшую (≈20 Kb JS) платформу, занимающуюся анализом
Персональные блоги → Использование дробных значений в верстке
Заметил, что браузеры по-разному округляют дробные значения пикселей. Например, в Opera 10 и IE7 значение отступа 12.5px округляется до 12px, а в Firefox 3.6 и IE8 — до 13px. Мне эта особенность обработки CSS-документа помогла аккуратно соединить два блока.
Если у вас появится желание собственноручно проверить данную особенность, вы можете воспользоваться, например, следующим кодом:
Будьте внимательны! Подобное поведение анализатора может изменяться в зависимости от версии браузера.
Если у вас появится желание собственноручно проверить данную особенность, вы можете воспользоваться, например, следующим кодом:
<style>
#test {
background-color: #f0f6fa;
color: #272727;
height: 12.5px;
}
</style>
<div id="test"></div>
<script language="javascript">
document.getElementById('test').innerHTML = document.getElementById('test').offsetHeight;
</script>Будьте внимательны! Подобное поведение анализатора может изменяться в зависимости от версии браузера.
Каскадные Таблицы Стилей → Unlimited IE one-time CSS expressions
В поддержку дней CSS expressions на хабре
Думаю все, кто сталкивался с решением каких-нибудь проблем в IE<8 знает про CSS expressions и про «одноразовые» CSS expressions, которые применяются к элементу только один раз, тем самым не создавая постоянной нагрузки на процессор. Обычно это решается так:
Думаю все, кто сталкивался с решением каких-нибудь проблем в IE<8 знает про CSS expressions и про «одноразовые» CSS expressions, которые применяются к элементу только один раз, тем самым не создавая постоянной нагрузки на процессор. Обычно это решается так:
.my-class {
behavior: expression(someMagick(), runtimeStyle.behavior = 'none');
}
Каскадные Таблицы Стилей → CSS-Expressions on DOMReady (CSS+JS в одном файле)
Вероятно, многие из вас используя css-expressions сталкивались с проблемой периодического появления сообщения abort. В народе поговаривают, что связано это с изменением DOM-дерева до его готовности.
Я тоже сталкивался и, не долго думая, решил написать небольшую «обертку» для expression’ов, которые я часто использую, учитывающую готовность DOM, упакованную в файл стилей.
Оную вашему вниманию и представляю.
Я тоже сталкивался и, не долго думая, решил написать небольшую «обертку» для expression’ов, которые я часто использую, учитывающую готовность DOM, упакованную в файл стилей.
Оную вашему вниманию и представляю.
Персональные блоги → Решаем проблему вызова события onresize в ИЕ пока не произошло событие onload
В Internet Explorer есть странная вещь (одна из многих), это вызов события onresize тогда и только тогда, когда документ будет полностью загружен. Данная проблема есть в IE 6, 7, 8. Возникло желание побороть сие безобразие и сделать это довольно прозрачно, дабы можно было вешать обработчики не задумываясь что вызваться они могут гораздо позже, чем ожидалось.
Использую jQuery и его внутренний механизм специальных событий, дабы на время, пока документ загружается, можно было использовать альтернативу onresize, а после все вернуть на свои места.
Дабы не описывать механизм специальных событий приложу ссылку
а теперь собственно код:
Использую jQuery и его внутренний механизм специальных событий, дабы на время, пока документ загружается, можно было использовать альтернативу onresize, а после все вернуть на свои места.
Дабы не описывать механизм специальных событий приложу ссылку
а теперь собственно код:
Информационная безопасность → Появился патч для Internet Explorer (Операция «Аврора»)
Как и обещал, читатели хабра первыми узнают о появлении обновления:)
Буквально пару минут назад мы опубликовали обновление, закрывающее уязвимость во всех версиях Internet Explorer. Скачать можно обновление можно через Центр обновления Microsoft (Microsoft Update) или загрузить его вручную через Центр загрузки
Напоминаем, чтобы для повышения безопасности компьютера мы рекомендуем обновить ваш браузер до Internet Explorer 8.
ЗЫ И не отключайте автообновление в Windows, это позволит вам регулярно получать последние обновления безопасности
Узнать техническую информацию об узвимости можно здесь: www.microsoft.com/rus/technet/security/advisory/979352.mspx + информация на английском здесь: www.microsoft.com/technet/security/bulletin/ms10-002.mspx
Буквально пару минут назад мы опубликовали обновление, закрывающее уязвимость во всех версиях Internet Explorer. Скачать можно обновление можно через Центр обновления Microsoft (Microsoft Update) или загрузить его вручную через Центр загрузки
Напоминаем, чтобы для повышения безопасности компьютера мы рекомендуем обновить ваш браузер до Internet Explorer 8.
ЗЫ И не отключайте автообновление в Windows, это позволит вам регулярно получать последние обновления безопасности
Узнать техническую информацию об узвимости можно здесь: www.microsoft.com/rus/technet/security/advisory/979352.mspx + информация на английском здесь: www.microsoft.com/technet/security/bulletin/ms10-002.mspx
Информационная безопасность → Патч для Internet Explorer появится 21-го января(Операция «Аврора»)
Многие уже написали об уязвимости, наденной в большинстве версий Internet Explorer (раз пост на хабре, два пост).
Буквально пару минут назад мне пришла коммуникация из корпорации, в которой коллеги анонсируют выпуск обновления завтра в 21-00 по Москве (10 часов утра в Редмонде). Кроме закрытия уязвимости(о ней можно больше прочитать тут), о которой все так много говорят, в него войдут и другие важные обновления, касающиеся Internet Explorer.
О появлении заплатки можно будет узнать на хабре, в блоге корповой команды или же у меня в блоге.
Не забудьте загрузить обновления завтра!
И не забывайте, что атаки не затронули пользователей Internet Explorer 8, так что обновляйте ваши браузеры:)
Буквально пару минут назад мне пришла коммуникация из корпорации, в которой коллеги анонсируют выпуск обновления завтра в 21-00 по Москве (10 часов утра в Редмонде). Кроме закрытия уязвимости(о ней можно больше прочитать тут), о которой все так много говорят, в него войдут и другие важные обновления, касающиеся Internet Explorer.
О появлении заплатки можно будет узнать на хабре, в блоге корповой команды или же у меня в блоге.
Не забудьте загрузить обновления завтра!
И не забывайте, что атаки не затронули пользователей Internet Explorer 8, так что обновляйте ваши браузеры:)