Я вижу очень странное поведение на моей странице, когда дело доходит до IE6 и IE5.5. У меня есть сценарий (суперлегкий, если вы знаете об этом), который возвращает PNG к работе при работе с IE6 и IE5.5. Во время выполнения этого я хочу изменить фон на использование альфа-фильтра Explorer (если Javascript включен, используйте фильтр, в противном случае придерживайтесь сплошного белого цвета).
Я делаю это по:
if(document.getElementById('transparency') != null)
document.getElementById('transparency').style.filter= "alpha(opacity=60)";
... прозрачность - это идентификатор рассматриваемого объекта.
Помещение этого в конец HTML-страницы (или в любом месте после инициации «прозрачности») приводит к работе скрипта. Однако если поместить его в самый конец внешнего сценария (отложенного), фильтр НЕ будет применен.
Однако, когда я удаляю оператор if и просто указываю браузеру использовать фильтр, он работает (однако только несколько страниц имеют идентификатор «прозрачности»).
Я пытался применить оператор if по-другому, используя окно предупреждения и пробуя оба != null
и == null
, и я ничего не получил.
Это сделало меня очень любопытным, поэтому я проверил это:
var tt = 5;
if(tt == 5)document.getElementById('transparency').style.filter= "alpha(opacity=60)";
Который дал еще более странный результат с сообщением об ошибке "1019 *"
tt не определено
Все это прекрасно работает в IE 7 и выше ...
Я понимаю, что это действительно две разные проблемы, но все же ...
Кто-нибудь может подсказать мне, что происходит?