Записи с тегом «IE»
Выполнение JavaScript в локальном документе в Internet Explorer
Для одного из проектов понадобилось генерировать локальный html-файл с небольшим кодом на JavaScript внутри. По умолчанию при открытии такого документа с локального диска в Internet Explorer 6/7/8 появится предупреждение системы безопасности «В целях безопасности Internet Explorer не разрешает этому веб-узлу выполнение скриптов или элементов управления ActiveX, которые могут получить доступ к компьютеру» и код выполнен не будет:
<!DOCTYPE html>
<html>
<head>
<title>IE JavaScript test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<script type="text/javascript">
alert('Hello, world');
</script>
</body>
</html>
Кроссбраузерный position:fixed
Для того, чтобы position:fixed сработал в браузерах начиная с IE6 необходимо для всех браузеров указать, например, следующее:
.l-fixed
{
position: fixed;
top: 250px;
left: 0px;
}
Для IE6 с помощью условных комментариев:
body
{
/*
Это обязательное условие, при необходимости настоящую фоновую картинку нужно назначить оборачивающему блоку
blank.gif -- классическое однопиксельное прозрачное изображение
*/
background-attachment: fixed;
background-image: url('../images/blank.gif');
}
.l-fixed
{
position: absolute;
left: 0px;
top: expression( ( 250 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
}
Решение с небольшими вариациями скомпилированно из нескольких других.
P.S. Действительно, пора заканчивать с практикой поддержки IE6 :)
Отключение Image Toolbar в IE6
Для отключения Image Toolbar для всех изображений в IE6 достаточно добавить следующий мета-тег:
<meta http-equiv="imagetoolbar" content="no" />
Надеюсь, в связи с отказом от поддержки IE6 в большинстве проектов подобное в будущем не понадобится :)
Смена цвета фона iframe'а в IE
В браузере Internet Explorer по умолчанию цвет фона у iframe'а белый и сменить или сделать его прозрачным можно только указав следующие аттрибуты:
<iframe allowTransparency="true" frameBorder="0">...</iframe>
Естественно, это ломает валидацию документа. Установка этих аттрибутов с помощью JavaScript срабатывает только в IE8, для IE7 необходимо их явно указать в XHTML-коде.
Привязка нижнего блока к низу макета страницы
Как "прилепить" нижний блок книзу? Google и другие поисковики дают много ссылок на различные решения данной проблемы. По ряду причин, большинство из предлагаемых решений уже не работают, либо работают, но без поддержки кроссбраузерности. На данный момент удалось найти такое кроссбраузерное решение, речь о котором и пойдет далее...
«Пустые» адреса для ссылок с JavaScript-обработчиками
В идеальном веб-приложении :) каждая ссылка, для которой указан JavaScript-обработчик клика должна вести на страницу, позволяющую сделать то же самое действие, но без использования JavaScript. В реальности всё же иногда нужны ссылки, главное предназначение которых — быть элементами интерфейса, реализованного с помощью клиентских скриптов.
Высота блока в IE6 меньше 20px
<div style="height:10px"><!-- --></div>
Фишка в том, что необходимо вставить комментарий в пустой блок.
Есть и второй способ, но он менее интересный:
<div style="height:10px; font-size:1px; line-height:0;"> </div>
В этом способе необходимо добавить неразрывный пробел в блок и определить стили: font-size:1px; line-height:0;
Ссылка на статью: Делаем высоту блока в IE-6 меньше 20px
