Javascript, если оператор отказывается загружаться правильно из внешнего скрипта IE6 IE5.5 - PullRequest
1 голос
/ 08 сентября 2010

Я вижу очень странное поведение на моей странице, когда дело доходит до 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 и выше ...

Я понимаю, что это действительно две разные проблемы, но все же ... Кто-нибудь может подсказать мне, что происходит?

1 Ответ

1 голос
/ 08 сентября 2010

Это работает?

var t = document.getElementById('transparency');
if (t && t.style) t.style.filter="alpha(opacity=60)";

Как насчет этого?

try {
  document.getElementById('transparency').style.filter= "alpha(opacity=60)";
} catch (e) { }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...