Скрипт для вставки flash обьектов в страницу, не активируя ActiveX Control в IE
С некоторых пор в компании Microsoft решили что нельзя вот так сразу давать юзерам возможность видеть и работать с флэш-обьектами на странице. Security reasons, понимаете ли. И когда в IE открывается страница со встроеным флэшем, то он не отрабатывает как положено пока по нему не кликнешь пару раз.
Все бы ничего, если бы не две вещи. Во-первых анимация не играет и появляется рамочка вокруг обьекта, а во-вторых естественно функционал. То есть если у меня есть анимированый баннер на флэше или (не дай Бог) меню на флэше, то сие есть проблема.
Об этом уже много писалось, но из-за того что в сети полно некачественно написаных скриптов, которые это дело “исправляют” так хорошо, что Эксплорер просто умирает (правильно, нет сайта - нет проблемы :)), я решил написать о лучшем способе исправления этого мелкомягкого самоуправства. А именно.
Adobe выпустила оффициальный скрипт, решающий эту проблему. Этот скрипт не глючит и я его активно использую. Чего и вам желаю. Итак:
Скачиваем два .js файлика - отсюда. Файлы выложил у себя, ибо в адобовском комплекте вместе с ними скачивается еще куча всего не нужного. Если вы боитесь (хе-хе) что я выложил что-либо вредоносное, то можете скачать все это с сайта Adobe.
Вы спросите почему два файла? Потому что один обрабатывает все аргументы для тэга object, а второй ответственый за вывод ActiveX контента на страницу.
Теперь смотрим что нам надо написать в теле страницы:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″ />
<title>Untitled Document</title>
<script srс=”Scripts/AC_RunActiveContent.js” type=”text/javascript”></script>
<script srс=”Scripts/AC_ActiveX.js” type=”text/javascript”></script>
</head>
<body>
<script type=”text/javascript”>
AC_FL_RunContent( ‘codebase’,'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0′, ‘width’,'100′,’height’,'22′,’src’,'button1′,’quality’,'high’, ‘pluginspage’,'http://www.macromedia.com/go/getflashplayer’,'movie’,'button1′ ); //end AC code
</script><noscript><object classid=”clsid:D27CDB6E-AE6D-11cf-96B8-444553540000″ codebase=”http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0″ width=”100″ height=”22″>
<param name=”movie” value=”button1.swf” />
<param name=”quality” value=”high” />
<embed srс=”button1.swf” quality=”high” pluginspage=”http://www.macromedia.com/go/getflashplayer” type=”application/x-shockwave-flash” width=”100″ height=”22″></embed>
</object></noscript>
</body>
</html>
В данном случае button1, это название файла .swf, обратите внимание на то что в некоторых местах он прописывается без расширения и путь к нему будет выглядеть не так, если он не находится в одной папке со страницей.
Все параметры меняются на необходимые, такие как высота и ширина обьекта, качество, версия плэера и тд. В принципе ничего сложного.
*Не забудьте указать верный путь к .js файлам в заголовке.
Если я чего-нибудь намудрил или просто не понятно написал то пишите в комментах - исправлю
Оригинал на английском языке здесь.
24/12/2006 в 9:27 дп
Мне больше подошёл вот такой способ (Читать всё под “Flash” до конца):
http://topixoft.googlepages.com/development
говорят что проходит валидацию, хотя не очень хорошо принимается редакторами и т.д. из-за “ “
24/12/2006 в 9:32 дп
m_vitaly
Есть много разных скриптов, реализующих это. Проблема в том что многие из них ведут себя не корректно в тех или иных ситуациях. На пример при вставке 3-4 роликов одновременно вдруг умирает IE…
Намучавшись я решил что лучше использовать скрипт от разработчиков флэша.
29/07/2007 в 12:46 пп
А кавычки, какие хотим, те и ставим….
30/07/2007 в 5:11 пп
to GND
Кавычки это глюк Wordpress’a. Выдает SQL ошибку с плагином “Related News”
21/08/2007 в 4:57 пп
А вот кто мне подскажет чайнику как отобразить в данном случае картинку если флеш не установлен
21/08/2007 в 5:20 пп
В noscript вставить код <img src=…
21/08/2007 в 5:22 пп
eros
Посмотрите еще здесь
22/08/2007 в 10:21 дп
тогда еще вопрос - а как сделать так что при условии, что java script работатет, но не установлен flash - выводилась картинка вместо флешки
22/08/2007 в 10:23 дп
Если использовать вот этот способ, то нужно вписать кодом картинку в переменную alternate content.
23/08/2007 в 1:09 пп
огромное спасибо за совет - все получилось
23/08/2007 в 1:11 пп
Вот и чудесно
31/03/2008 в 6:55 пп
С флэшем понятно, кто бы подсказал, как это сделать и с wmv файлами, что касается “Эксплорера”. А “Фиерфокс” просто их не показывает. В чём может быть дело?
14/05/2008 в 10:32 дп
Вообще-то Flash сам этот файл генерит…
Так что уже НЕАКТУАЛЬНО)))