Для эффективной вставки "флешек" иногда требуется определить версию flash-плеера.
Замечания:
1) В IE информацию о версии плеера можно узнать воспользовавшись компонентом ActiveX.
2) В остальных браузерах эта информация содержится в дочернем объекте plugin объекта navigator.
function flashVersion() {
// Отдельно определяем Internet Explorer
var ua = navigator.userAgent.toLowerCase();
var isIE = (ua.indexOf("msie") != -1 && ua.indexOf("opera") == -1 && ua.indexOf("webtv") == -1);
// Стартовые переменные
var version = 0;
var lastVersion = 10; // c запасом
var i;
if (isIE) { // browser == IE
try {
for (i = 3; i <= lastVersion; i++) {
if (eval('new ActiveXObject("ShockwaveFlash.ShockwaveFlash.'+i+'")')) {
version = i;
}
}
} catch(e) {}
} else { // browser != IE
for (i = 0; i < navigator.plugins.length; i++) {
if (navigator.plugins[i].name.indexOf('Flash') > -1) {
version = (parseInt(navigator.plugins[i].description.charAt(16)) > version) ? parseInt(navigator.plugins[i].description.charAt(16)) : version;
}
}
}
return version;
}
// Отдельно определяем Internet Explorer
var ua = navigator.userAgent.toLowerCase();
var isIE = (ua.indexOf("msie") != -1 && ua.indexOf("opera") == -1 && ua.indexOf("webtv") == -1);
// Стартовые переменные
var version = 0;
var lastVersion = 10; // c запасом
var i;
if (isIE) { // browser == IE
try {
for (i = 3; i <= lastVersion; i++) {
if (eval('new ActiveXObject("ShockwaveFlash.ShockwaveFlash.'+i+'")')) {
version = i;
}
}
} catch(e) {}
} else { // browser != IE
for (i = 0; i < navigator.plugins.length; i++) {
if (navigator.plugins[i].name.indexOf('Flash') > -1) {
version = (parseInt(navigator.plugins[i].description.charAt(16)) > version) ? parseInt(navigator.plugins[i].description.charAt(16)) : version;
}
}
}
return version;
}
Итак, всё просто. Вызвали функцию — она вернула либо версию, либо 0, в случае отсутствия флеша.
© Все права на данную статью принадлежат порталу webew.ru. Перепечатка в интернет-изданиях разрешается только с указанием автора и прямой ссылки на оригинальную статью. Перепечатка в печатных изданиях допускается только с разрешения редакции.