![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#1
|
|
![]() Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 1102 Регистрация: 27.02.2009 Из: Moscow Пользователь №: 9144 ![]() |
Решил создать простецкий шаблончик некэшируемого флеша. Вот что вышло:
Цитата <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Некэшируемый флеш</title> </head> <body bgcolor="#000000"> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100%" height="100%" id="mySWF" align="middle"> <param name="movie" value="" /> <param name="scale" value="noscale" /> <param name="bgcolor" value="#ffffff" /> </object> <script> <!-- mySWF.movie="Название_ролика.swf?"+new Date() //--> </script> </body> </html> Т.е. ИЗНАЧАЛЬНО я создаю объект с пустым параметром movie, а потом через JS этот параметр дозаполняю. Но объект - это только для IE. В других браузерах надо использовать embed. И тут у меня возник затык ![]() Цитата <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Некэшируемый флеш</title> </head> <body bgcolor="#000000"> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100%" height="100%" id="mySWF" align="middle"> <param name="movie" value="" /> <param name="scale" value="noscale" /> <param name="bgcolor" value="#ffffff" /> <embed src="" scale="noscale" bgcolor="#ffffff" width="100%" height="100%" name="mySWF" align="middle" type="application/x-shockwave-flash" /> </object> <script> <!-- mySWF.movie="Название_ролика.swf?"+new Date() //--> </script> </body> </html> Не понимаю, как обратиться динамически к эмбеду, чтобы ДОПИСАТЬ в него src? -------------------- |
|
|
![]()
Сообщение
#2
|
|
Заряд: 100% ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1110 Регистрация: 12.03.2008 Пользователь №: 4145 ![]() |
А воспользоваться скриптом php?
Код <? $mySWF = "Название_ролика.swf?" . date(); ?> <embed src="<? echo $mySWF; ?>" scale="noscale" bgcolor="#ffffff" width="100%" height="100%" name="mySWF" align="middle" type="application/x-shockwave-flash" /> Или даже так: Код <? $mySWF = "Название_ролика.swf?" . date(); ?> <embed src="<? echo '<script type=text/javascript>mySWF.movie="Название_ролика.swf?"+new Date();</script>'; ?>" scale="noscale" bgcolor="#ffffff" width="100%" height="100%" name="mySWF" align="middle" type="application/x-shockwave-flash" /> Хотя второй вариант по-моему не сработает, но попробовать стоит. Сообщение отредактировал HaWK - 22.09.2010 - 11:22 |
|
|
![]()
Сообщение
#3
|
|
![]() Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 1102 Регистрация: 27.02.2009 Из: Moscow Пользователь №: 9144 ![]() |
Хочется обойтись клиентским скриптом, а не серверным.
Шаблон должен быть минимальным и понятным. -------------------- |
|
|
![]()
Сообщение
#4
|
|
![]() Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 1102 Регистрация: 27.02.2009 Из: Moscow Пользователь №: 9144 ![]() |
В общем я решил пойти несколько другим путем:
Код <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Некэшируемый флеш</title> </head> <body bgcolor="#000000"> <script> <!-- var isIE=false //--> </script> <!--[if IE]> <script> <!-- isIE=true; //--> </script> <![endif]--> <script> <!-- // Создаем и внедряем в тело объект var node=document.createElement('object'); document.body.appendChild(node); var name="Название_ролика.swf?"+new Date() if ( isIE) { node.classid= "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" node.movie=name node.id="mySWF" } else { node.name="mySWF" node.data=name node.type="application/x-shockwave-flash" } node.width="100%" node.height="100%" node.scale="noscale" node.align="middle" //--> </script> </body> </html> Собственно должно работать в любом браузере. Только надо помнить - это код именно для отладки, когда кэш не приемлем. add: Почему-то свойство bgcolor назначается только в IE, в остальных браузерах выставляется по умолчанию в белый цвет, что собственно меня не напрягает. Сообщение отредактировал chingachgoog - 23.09.2010 - 17:35 -------------------- |
|
|
![]()
Сообщение
#5
|
|
![]() C:\> ![]() ![]() ![]() ![]() ![]() Группа: Супермодераторы Сообщений: 1598 Регистрация: 10.04.2006 Из: Млечный Путь, 3-я планета от Солнца, Россия, Московская область, Жуковский. Пользователь №: 293 ![]() |
Цитата Почему-то свойство bgcolor назначается только в IE, в остальных браузерах выставляется по умолчанию в белый цвет, что собственно меня не напрягает. У меня в 4-х браузерах адекватно работает. -------------------- Вопрос-ответ для flash-разработчиков
С тех пор, как за Теорию Относительности принялись математики, я ее сам больше не понимаю. (с) Эйнштейн А. |
|
|
![]()
Сообщение
#6
|
|
![]() Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 1102 Регистрация: 27.02.2009 Из: Moscow Пользователь №: 9144 ![]() |
У меня в 4-х браузерах адекватно работает. У меня этот код Код node.bgcolor="#0000ff" работал только в IE, а в остальных фон ФП оставался белым. -------------------- |
|
|
![]()
Сообщение
#7
|
|
![]() C:\> ![]() ![]() ![]() ![]() ![]() Группа: Супермодераторы Сообщений: 1598 Регистрация: 10.04.2006 Из: Млечный Путь, 3-я планета от Солнца, Россия, Московская область, Жуковский. Пользователь №: 293 ![]() |
А все, я просто не правильно понял.
А так не пробывал: document.all("node").bgcolor=....... ? -------------------- Вопрос-ответ для flash-разработчиков
С тех пор, как за Теорию Относительности принялись математики, я ее сам больше не понимаю. (с) Эйнштейн А. |
|
|
![]()
Сообщение
#8
|
|
![]() Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 1102 Регистрация: 27.02.2009 Из: Moscow Пользователь №: 9144 ![]() |
А так не пробывал: document.all("node").bgcolor=....... ? Так вообще нигде не работает, видимо синтаксическая ошибка. Но вообще, как только не пробывал... -------------------- |
|
|
![]()
Сообщение
#9
|
|
![]() C:\> ![]() ![]() ![]() ![]() ![]() Группа: Супермодераторы Сообщений: 1598 Регистрация: 10.04.2006 Из: Млечный Путь, 3-я планета от Солнца, Россия, Московская область, Жуковский. Пользователь №: 293 ![]() |
ну может скобки квадратные
![]() -------------------- Вопрос-ответ для flash-разработчиков
С тех пор, как за Теорию Относительности принялись математики, я ее сам больше не понимаю. (с) Эйнштейн А. |
|
|
![]()
Сообщение
#10
|
|
![]() Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 1102 Регистрация: 27.02.2009 Из: Moscow Пользователь №: 9144 ![]() |
Пока не забыл.
Вообщем дело с альтернативными браузерами в том, что у них есть только АТТРИБУТЫ свойств флеш-контрола, а самих СВОЙСТВ у них нет (вот и привет от ИЕ). Поэтому задать нужные параметры можно ТОЛЬКО через аттрибуты. Ну хоть так объектная модель все равно сохраняется, хоть и криво: node.setAttribute('bgcolor', "#0000ff") (эта байда записывается в свойство outerHTML и все, блин, других нативных свойств НЕТ! Ужос...) -------------------- |
|
|
![]()
Сообщение
#11
|
|
Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Flash Zone Team Сообщений: 4739 Регистрация: 10.03.2005 Из: Киев Пользователь №: 5 ![]() |
chingachgoog
По большому счёту дело не в альтернативных браузерах, а в флеш-плеере (плагине) для них. И соответственно в технологии для его создания (ActiveX для IE и плагины для других), что влияет на возможности флеш плагина. Так что всё зависит от Адоба - с учётом ограничений технологии для создания плагина. Раз Адоб позволяет только через атрибуты, значит будет только так (пока Адоб не изменит ситуацию). Заметь, что "альтернативными" эти браузеры называются только для ОС Windows, а для альтернативных ОС они уже такими не являются ![]() -------------------- Best wishes & regards,
MustLive Администратор сайта http://mlfun.org.ua |
|
|
![]()
Сообщение
#12
|
|
![]() Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 1102 Регистрация: 27.02.2009 Из: Moscow Пользователь №: 9144 ![]() |
По большому счёту дело не в альтернативных браузерах, а в флеш-плеере (плагине) для них. Вряд ли плагины НАСТОЛЬКО разные. Насколько я понимаю, дело именно в ИЕ - он хитрым образом старается уравнять аттрибуты узла и свойства объекта. Т.е. тупой адобовский плагин скорее всего не создает свойств для своего контрола (а должен бы учитывая объектную модель), но ИЕ конвертирует аттрибуты в свойства и дальше с контролом в ИЕ можно обращаться как с настоящим объектом - через свойства. Это удобная фича. И безопасная (в отличии от обратного конвертирования свойств в аттрибуты) -------------------- |
|
|
![]()
Сообщение
#13
|
|
Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Flash Zone Team Сообщений: 4739 Регистрация: 10.03.2005 Из: Киев Пользователь №: 5 ![]() |
Технологии разные - ActiveX и модель расширений браузеров Netscape. Все альтернативные браузеры используют именно модель Netscape для плагинов, поэтому Адоб выпускает только один плагин для всех браузеров и отдельно ActiveX-компонент для IE. Microsoft таким образом решила выделиться (и поконкурировать с Netscape, создав свою технологию расширений браузера), а в последние годы решила таким образом выделиться Гугл, для браузера которой выпускается своя версия плагина - "флеш-плагин для Chrome".
Т.е. дело может быть именно в технологии ActiveX, что именно в этой версии Адоб сделала этот функционал, чего нет в Netscape-версии плагина. Хотя вариант, что это сам IE конвертирует атрибуты в свойства не исключён. Ты можешь проверить эту идею на других плагинах (ActiveX-компонентах для IE и плагинах для других браузеров), таких как Shockwave Director, QuickTime и RealPlayer. -------------------- Best wishes & regards,
MustLive Администратор сайта http://mlfun.org.ua |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 19.01.2013 - 01:12 |