Для начала, хочу извиниться перед своими читателями за то, что так долго не писал в блог. Не буду рассказывать о большом количестве работы — у всех так. Но, чем больше работы, тем больше тем для этого блога. Сегодняшняя заметка на довольно насущную, но не новую тему. В работе, при использовании SWFObject, очень часто приходилось решать конфликты этого скрипта с другими скриптами. Поскольку бОльшая часть моих проектов связана с Joomla! 1.5, в которой используется библиотека Mootools, то часто приходится решать конфликт SWFObject именно со скриптами Mootools.
Все дело в том, что Internet Explorer просто отказывается открывать страницу, выдавая при этом сообщение типа:
Об этом баге довольно хорошо известно разработчикам IE и они сами говорят почему так происходит http://support.microsoft.com/kb/927917/ но при этом решения не предлагают, кроме того, как использовать IE8 🙂
Эта проблема возникает потому, что дочерний контейнер содержит скрипт, который пытается изменить родительский контейнер. Скрипт код пытается изменить родительский элемент с помощью либо innerHTML либо appendChild метода.
Решение этой проблемы заключается в том, чтобы сказать IE, что потомок не собирается менять своего родителя, во как…:) Сделать это можно простым методом, добавив к скрипту, который генерирует флеш атрибут defer=”defer”.
W3C определяет атрибут defer=”defer” следующим образом:
При использовании данного атрибута пользовательский агент получает информацию о том, что скрипт не будет генерировать содержимое документа (например, нет «document.write» в JavaScript) и, таким образом, агент пользователя может продолжить рендеринг.
На этом все. Коротко но, думаю, довольно ясно. Откланиваюсь, для решения очередных производственных задач, с мыслями о ном посте в скором времени. Удачи.
P>S>
Если в вашей жизни случилось значимое событие, его празднование помогут сделать еще более радужным Музыканты, которых можно найти и выбрать в Клубе Музыкантов Treda.
Холодильник liebherr cnes 38660. Встраиваемый холодильник BOSCH KIL 24441.
4 ответа к “SWFObject + Internet Explorer + Mootools — как их подружить?”
А это не тот глюк где просто нужно закрыть тэг
Вот нашел —http://74.125.77.132/search?q=cache:_tEdZ37ZK7wJ:joomla-support.ru/post39640.html+base+site:joomla-support.ru&hl=ru&ct=clnk&cd=6&client=opera — оно?
Это тоже интересно. Но здесь ситуация немного другая. Дело в том, что здесь именно конфликт с обработкой DOM. Это может быть и без использования mootools и без Joomla! Просто я привел конкретный пример для общего случая.
Спасибо реально помогло с модулем 3D Cloud v1.6 не хотел дружить с моотолс и IE6 )))))