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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > Общие вопросы

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 04.12.2001, 11:54
GrafR вне форума Посмотреть профиль Отправить личное сообщение для GrafR Посетить домашнюю страницу GrafR Найти все сообщения от GrafR
  № 1  
GrafR

Регистрация: Aug 2001
Адрес: Кузбасс (Кемеровская обл.)
Сообщений: 60
По умолчанию Как определить наличие плагина

Скажите пожалуйста, как определить наличие на машине плагина вообще, а в частности 5-го с помощью Action.
Сразу спасибо.
__________________
Для того, чтобы сделать что-то невозможное, нужно просто не знать, что это невозможно сделать.

Старый 04.12.2001, 12:14
fancy вне форума Посмотреть профиль Отправить личное сообщение для fancy Найти все сообщения от fancy
  № 2  
fancy
[+4 19.05.08]
 
Аватар для fancy

Регистрация: May 1999
Адрес: Казахстан, Алматы
Сообщений: 85
Отправить сообщение для fancy с помощью ICQ
такой пойдет?

Код:
var haveflash = false;
var flash2Installed = false;		// boolean. true if flash 2 is installed
var flash3Installed = false;		// boolean. true if flash 3 is installed
var flash4Installed = false;		// boolean. true if flash 4 is installed
var flash5Installed = false;		// boolean. true if flash 5 is installed
var maxVersion = 5;					// highest version we can actually detect
var actualVersion = 0;				// version the user really has
var hasRightVersion = false;		// boolean. true if it's safe to embed the flash movie in the page

// write vbscript detection if we're on ie win

var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;	// true if we're on ie
var isMac = (navigator.appVersion.indexOf("Mac") != -1) ? true : false; // true if we're on mac

if(isIE && !isMac) // don't write vbscript tags on anything but ie win
	{
	document.write('<SCRIPT LANGUAGE=VBScript\> \n');
	document.write('on error resume next \n');
	document.write('flash2Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.2"))) \n');
	document.write('flash3Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.3"))) \n');
	document.write('flash4Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.4"))) \n');
	document.write('flash5Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5"))) \n');	
	document.write('</SCR' + 'IPT\> \n'); // break up end tag so it doesn't end our script
	}

if (navigator.plugins)								   // does navigator.plugins exist?
	{ 								
	if (navigator.plugins["Shockwave Flash 2.0"] 	// is Flash 2 installed?
	|| navigator.plugins["Shockwave Flash"])		   // no? then is flash 3+ installed?
		{
		var isVersion2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : ""; 				// flash 2 ref.
		var flashDescription = navigator.plugins["Shockwave Flash" + isVersion2].description;	// plugin description
		var flashVersion = parseInt(flashDescription.charAt(flashDescription.indexOf(".") - 1));	// plugin version

		if (flashVersion == 2) flash2Installed = true;	// set appropriate version flag
		if (flashVersion == 3) flash3Installed = true;
		if (flashVersion == 4) flash4Installed = true;
		if (flashVersion == 5) flash5Installed = true;
		}
	}
	
for (var i = 2; i <= maxVersion; i++)	// loop through all versions we're checking
	{
	if (eval("flash" + i + "Installed") == true) actualVersion = i; // set actualVersion to highest detected version
	}

if (actualVersion>4) { haveflash = true; } else { haveflash = false; }

надеюсь тебе подойдет
__________________
Жить хорошо, когда вокруг столько интересного....


Старый 05.12.2001, 06:56
GrafR вне форума Посмотреть профиль Отправить личное сообщение для GrafR Посетить домашнюю страницу GrafR Найти все сообщения от GrafR
  № 3  
GrafR

Регистрация: Aug 2001
Адрес: Кузбасс (Кемеровская обл.)
Сообщений: 60
Thumbs up Спасибо, но есть вопрос

Спасибо большое, очень полный пример. Но если те не против, я хотел бы уточнить.

Почему откидываются клиенты с машинами "МАК":

var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false; // true if we're on ie
var isMac = (navigator.appVersion.indexOf("Mac") != -1) ? true : false; // true if we're on mac

if(isIE && !isMac) // don't write vbscript tags on anything but ie win
{

Потом, здесь нет ни слова о Нэтскейпе. Могет быть можно для полноты еще добавить:

var plugin = (navigator.mimeTypes &&
navigator.mimeTypes["application/x-shockwave-flash"]) ?
navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;
if (plugin && parseInt(plugin.description.substring(plugin.description.indexOf(".")-1)) >=5) {
window.location = "...";
}


Еще объясни пожалуйста (я не силен в яве) почему:
document.write('</SCR' + 'IPT\> \n');
а не:
document.write('</SCRIPT\> \n');
и что это означает?

А так все класно

___________________________________________________
И все же я немного не это имел ввиду:
Я думал поставить задержку и обратиться в мувику swf, который на ActionScript определит плугин, а если машина не понимает swf, то после задержки перебросит на соответствующий html.
Но это все не принципиально, хотя такой вариант я думаю есть.
__________________
Для того, чтобы сделать что-то невозможное, нужно просто не знать, что это невозможно сделать.

Старый 05.12.2001, 09:10
fancy вне форума Посмотреть профиль Отправить личное сообщение для fancy Найти все сообщения от fancy
  № 4  
fancy
[+4 19.05.08]
 
Аватар для fancy

Регистрация: May 1999
Адрес: Казахстан, Алматы
Сообщений: 85
Отправить сообщение для fancy с помощью ICQ
Цитата:

Еще объясни пожалуйста (я не силен в яве) почему:
document.write('</SCR' + 'IPT\> \n');
а не:
document.write('</SCRIPT\> \n');
и что это означает?
а разницы нет никакой, хочешь так не хочешь пиши по своему

по поводу нетскейпа ничего не имею против сам его любил до поры до времени сейчас перешел на Mazilla очень кайфная штука

и вопрос от меня, как ты можешь проверить флЭшем наличие плагина, если флЭш без плагина не работает?
или я не понимаю? если найдешь способ скинь на мыло плиз буду признателен
__________________
Жить хорошо, когда вокруг столько интересного....


Старый 05.12.2001, 09:15
fancy вне форума Посмотреть профиль Отправить личное сообщение для fancy Найти все сообщения от fancy
  № 5  
fancy
[+4 19.05.08]
 
Аватар для fancy

Регистрация: May 1999
Адрес: Казахстан, Алматы
Сообщений: 85
Отправить сообщение для fancy с помощью ICQ
По умолчанию одному Богу известно :)

Цитата:

Еще объясни пожалуйста (я не силен в яве) почему:
document.write('</SCR' + 'IPT\> \n');
а не:
document.write('</SCRIPT\> \n');
и что это означает?
а разницы нет никакой, хочешь так не хочешь пиши по своему

по поводу нетскейпа ничего не имею против сам его любил до поры до времени сейчас перешел на Mazilla очень кайфная штука

и вопрос от меня, как ты можешь проверить флЭшем наличие плагина, если флЭш без плагина не работает?
или я не понимаю? если найдешь способ скинь на мыло плиз буду признателен
__________________
Жить хорошо, когда вокруг столько интересного....


Создать новую тему   Часовой пояс GMT +4, время: 11:44.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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