Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.11.2007, 18:38
inMashine вне форума Посмотреть профиль Отправить личное сообщение для inMashine Найти все сообщения от inMashine
  № 1  
Ответить с цитированием
inMashine
 
Аватар для inMashine

Регистрация: Sep 2007
Сообщений: 117
По умолчанию инсталяция flash player + iobject

Здравствуйте.
Для вставки 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>
Должен сказать что все работает просто великолепно и в IE и в FF,
но только при условии, что flash player установлен на компьютере клиента (речь о IE).
Если перед тегом <script> вставлять div с предложением установить flash player (примерно как с swfobject'oм), то этот div вылазит даже если у клиента есть flash player.
Подскажите плз, как предложить установку flash player' а клиенту (используя код, приведенный выше)

Старый 15.11.2007, 19:16
Poohorik вне форума Посмотреть профиль Отправить личное сообщение для Poohorik Найти все сообщения от Poohorik
  № 2  
Ответить с цитированием
Poohorik
 
Аватар для Poohorik

Регистрация: May 2004
Сообщений: 34
Попробуй SWFobject.
http://blog.deconcept.com/swfobject/

Если flash player есть - информация в div'е стирается, показывается flash. В div кинуть текст о том, что не установлен flash и ссылку на adobe например.
__________________
Use the force...

Старый 15.11.2007, 19:29
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 3  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
iobject не поддерживает определение версий и вряд ли будет, так как тестировать на всех видах браузерах и их новых версий, у меня нет времени. Поэтому использовать его стоит, только если не расчитываете на 100% охват и ваш проект на так уж маштабен.
У вас кстати старая версия iobject с багом.
Вместо
Код:
if(o.wmode){str+='base="'+o.wmode+'" ';}
Должно быть
Код:
if(o.wmode){str+='wmode="'+o.wmode+'" ';}
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 15.11.2007, 19:31
inMashine вне форума Посмотреть профиль Отправить личное сообщение для inMashine Найти все сообщения от inMashine
  № 4  
Ответить с цитированием
inMashine
 
Аватар для inMashine

Регистрация: Sep 2007
Сообщений: 117
Я как-то мучился недели две со вставкой flash контента в html и iobject - самый лучший вариант на мой взгляд. Даже непомню чем мне не понравился swfobject...(с размерами при разных разрешениях монитора вроде были проблемы или с русским текстом).
Честно говоря неохота к этой проблеме возвращаться.
Если кто-то хорошо понимает js напишите плз чё в этом iobject надо поменять, чтобы инсталировать flash player (или может скриптик js, который определяет наличие плеера)
Ну а если нет - то конечно придется мурыжить swfobject.

Старый 15.11.2007, 19:35
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 5  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Тем кто за это возьмется (если есть желающие). iobject.js трогать не надо, достаточно не вызывать showFlash (o) при отсутствии нужной версии.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 15.11.2007, 19:35
inMashine вне форума Посмотреть профиль Отправить личное сообщение для inMashine Найти все сообщения от inMashine
  № 6  
Ответить с цитированием
inMashine
 
Аватар для inMashine

Регистрация: Sep 2007
Сообщений: 117
iNils, пасибо.
Я как раз только что исправил версию iobject.
Буду использовать swfobject.

Старый 15.11.2007, 20:23
inMashine вне форума Посмотреть профиль Отправить личное сообщение для inMashine Найти все сообщения от inMashine
  № 7  
Ответить с цитированием
inMashine
 
Аватар для inMashine

Регистрация: Sep 2007
Сообщений: 117
C swfObject все в поряде.
Но вот вопрос на другом компе установлен flash plaeyr (вчера скачали)
При этом FF выкидывает сообщение "you need to install flash player" - при переходе по ссылке http://www.adobe.com/shockwave/downl...ShockwaveFlash
и попытке его установить ничего не выходит.
А IE все отображает нормально, зато не пишет надписей на флешовых кнопках.

Старый 15.11.2007, 20:35
LinuxVideo вне форума Посмотреть профиль Найти все сообщения от LinuxVideo
  № 8  
Ответить с цитированием
LinuxVideo
Banned
[+4 11.12.07]
[+4 18.03.08]

Регистрация: Oct 2007
Сообщений: 269
А что, embed уже не модно?
Браузер сам скажет, чего ему надо, быть может даже сам скачает...
Зато как весело эти скрипты работают под линуховым Конкьюрером... Руки бы отрывал...

Старый 15.11.2007, 20:43
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 9  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
embed модно только внутри js
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 15.11.2007, 20:55
inMashine вне форума Посмотреть профиль Отправить личное сообщение для inMashine Найти все сообщения от inMashine
  № 10  
Ответить с цитированием
inMashine
 
Аватар для inMashine

Регистрация: 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.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:22.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.