![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2007
Сообщений: 117
|
Здравствуйте.
Для вставки flash контента в html страницу я использую iobject.js: function showFlash(o){
var bg,q,s,v;
if(o.bgcolor){bg=o.bgcolor;}else{bg="#FFFFFF";}
if(o.quality){q=o.quality;}else{q="high";}
if(o.scale){s=o.scale;}else{s="noscale";}
if(o.ver){v=o.ver;}else{v=6;}
var str='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='+v+',0,0,0" ';
str+='id="'+o.id+'" ';
if(o.base){str+='base="'+o.base+'" ';}
if(o.align){str+='align="'+o.align+'" ';}
str+='width="'+o.width+'" height="'+o.height+'"><param name="movie" value="'+o.name+'"/><param name="bgcolor" value="'+bg+'"/><param name="quality" value="'+q+'"/>';
if(o.flashvars){str+='<param name="flashvars" value="'+o.flashvars+'"/>';}
if(o.allowScriptAccess){str+='<param name="allowScriptAccess" value="'+o.allowScriptAccess+'"/>';}
if(o.salign){str+='<param name="salign" value="'+o.salign+'"/>';}
if(o.wmode){str+='<param name="wmode" value="'+o.wmode+'"/>';}
str+='<param name="scale" value="'+s+'"/><embed type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" id="'+o.id+'-embed" src="'+o.name+'" bgcolor="'+bg+'" ';
if(o.flashvars){str+='flashvars="'+o.flashvars+'" ';}
if(o.swLiveConnect){str+='swLiveConnect="'+o.swLiveConnect+'" ';}
if(o.allowScriptAccess){str+='allowScriptAccess="'+o.allowScriptAccess+'" ';}
str+='quality="'+q+'" ';
if(o.base){str+='base="'+o.base+'" ';}
if(o.wmode){str+='base="'+o.wmode+'" ';}
if(o.salign){str+='salign="'+o.salign+'" ';}
str+='scale="'+s+'" width="'+o.width+'" height="'+o.height+'"></embed></object>';
document.writeln(str);
}
Далее все это дело не хитро вставляется в html: <html>
<head>
<title></title>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=UTF-8">
<SCRIPT language="JavaScript" type="text/javascript" src="iobject.js"></SCRIPT>
</head>
<body>
<div align="center">
<SCRIPT language="JavaScript" type="text/javascript">
/*
Описание аттрибутов:
Автоматические:
align - HTML выравнивание (необязательный)
allowScriptAccess - взаимодействие между flash и html. Значения: never | always | sameDomain (необязательный, по умолчанию sameDomain) Flash Player 7 и выше
bgcolor - цвет фона флеша (необязательный, по умолчанию белый)
height - высота флеша
id - id object (необязательный)
name - имя файла
quality - качество (необязательный, по умолчанию high)
salign - Stage.align (необязательный)
scale - маштаб (необязательный)
swLiveConnect - загрузка JAVA при первичной загрузке Flash Player (необязательный, по умолчанию false) только для embed
width - ширина флеша
Пользовательские:
base - цвет фона флеша (необязательный)
flashvars - передаваемые флешу переменные (необязательный)
ver - минимальная версия флеш-плеера (необязательный, по умолчанию 6)
*/
var o = {};
//// Автоматические
//o.align = "top";
//o.allowScriptAccess = "sameDomain";
//o.bgcolor = "#191970";
o.height = "240";
o.id = "id ";
o.name = "intro.swf";
//o.quality = "качество";
//o.salign = "top";
//o.swLiveConnect = "true";
o.width = "843";
//// Пользовательские
//o.base = "";
//o.flashvars = "";
//o.ver = "";
//// Показываем флешку
showFlash (o);
</SCRIPT>
</div>
</body>
</html>
но только при условии, что flash player установлен на компьютере клиента (речь о IE). Если перед тегом <script> вставлять div с предложением установить flash player (примерно как с swfobject'oм), то этот div вылазит даже если у клиента есть flash player. Подскажите плз, как предложить установку flash player' а клиенту (используя код, приведенный выше) |
|
|||||
|
Регистрация: May 2004
Сообщений: 34
|
Попробуй SWFobject.
http://blog.deconcept.com/swfobject/ Если flash player есть - информация в div'е стирается, показывается flash. В div кинуть текст о том, что не установлен flash и ссылку на adobe например.
__________________
Use the force... |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
iobject не поддерживает определение версий и вряд ли будет, так как тестировать на всех видах браузерах и их новых версий, у меня нет времени. Поэтому использовать его стоит, только если не расчитываете на 100% охват и ваш проект на так уж маштабен.
У вас кстати старая версия iobject с багом. Вместо Должно быть |
|
|||||
|
Регистрация: Sep 2007
Сообщений: 117
|
Я как-то мучился недели две со вставкой flash контента в html и iobject - самый лучший вариант на мой взгляд. Даже непомню чем мне не понравился swfobject...(с размерами при разных разрешениях монитора вроде были проблемы или с русским текстом).
Честно говоря неохота к этой проблеме возвращаться. Если кто-то хорошо понимает js напишите плз чё в этом iobject надо поменять, чтобы инсталировать flash player (или может скриптик js, который определяет наличие плеера) Ну а если нет - то конечно придется мурыжить swfobject. |
|
|||||
|
Регистрация: Sep 2007
Сообщений: 117
|
iNils, пасибо.
Я как раз только что исправил версию iobject. Буду использовать swfobject. |
|
|||||
|
Регистрация: Sep 2007
Сообщений: 117
|
C swfObject все в поряде.
Но вот вопрос на другом компе установлен flash plaeyr (вчера скачали) При этом FF выкидывает сообщение "you need to install flash player" - при переходе по ссылке http://www.adobe.com/shockwave/downl...ShockwaveFlash и попытке его установить ничего не выходит. А IE все отображает нормально, зато не пишет надписей на флешовых кнопках. |
|
|||||
|
Banned
[+4 11.12.07]
[+4 18.03.08] Регистрация: Oct 2007
Сообщений: 269
|
А что, embed уже не модно?
Браузер сам скажет, чего ему надо, быть может даже сам скачает... Зато как весело эти скрипты работают под линуховым Конкьюрером... Руки бы отрывал... |
|
|||||
|
Регистрация: Sep 2007
Сообщений: 117
|
Только что установил себе flash player по ссылке http://www.adobe.com/shockwave/downl...ShockwaveFlash
(там справа есть маленькая картинка "get shoсkwave player") Но IE упорно пишет "You need the Flash Player" (это то что я написал в div'е swfobject'a). Подскажите плз в чем тут дело. Последний раз редактировалось inMashine; 15.11.2007 в 21:03. |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:22. |
|
|
« Предыдущая тема | Следующая тема » |
|
|