PDA

Просмотр полной версии : Как определить наличие flash-плеера у пользователя в IE8?


МихаилК
17.05.2009, 11:05
Есть штатный JavaScript от адобе, который проверяет у пользователя наличие флэш-плеера и запускает флэшку или подставляет статичный контент. При этом проверка проводится в ИЕ достаточно банально, скрипт пытается создать ActiveX-объект для всех версий флэша последовательно (видел даже цикл по версиям от 24 до 0):


if (!version)
{
try {
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.<сюда подставляется номер версии>");
version = axo.GetVariable("$version");
} catch (e) {
}
}



В IE8 попытка создать объект таким образом устойчиво выдает false. Соответственно, скрипт решает, что плеера для флэша нет и не запускает флэшку. Причем даже выставление в метатегах режима совместимости с IE7 проблемы не решает.

Сам по себе плеер стоит и флэшка, если ствить ее без изысков, проигрывается.

Ни у кого нет решения?

etc
17.05.2009, 13:13
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");

МихаилК
17.05.2009, 14:37
Фенкс,
действительно работает.
Вопрос закрыт

etc
17.05.2009, 18:44
Только это не отменяет перебора версий. Это только с десятки, кажется, версия не указывается. Т. е. в том же IE7 также не работает.