Определение версии flash-плеера
14 мая 2008, 2:27
Автор: Александр Бурцев [bur]
Для эффективной вставки "флешек" иногда требуется определить версию 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 newversion;
var lastVersion = 10; // c запасом
var i;
var plugin;
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 in navigator.plugins) {
plugin = navigator.plugins[i];
if (plugin.name == undefined) continue;
if (plugin.name.indexOf('Flash') > -1) {
newversion = /\d+/.exec(plugin.description);
if (newversion == null) newversion = 0;
if (newversion> version) version = newversion;
}
}
}
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 newversion;
var lastVersion = 10; // c запасом
var i;
var plugin;
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 in navigator.plugins) {
plugin = navigator.plugins[i];
if (plugin.name == undefined) continue;
if (plugin.name.indexOf('Flash') > -1) {
newversion = /\d+/.exec(plugin.description);
if (newversion == null) newversion = 0;
if (newversion> version) version = newversion;
}
}
}
return version;
}
Итак, всё просто. Вызвали функцию — она вернула либо версию, либо 0, в случае отсутствия флеша.
(4 мая 2011 г. в код внесены исправления для поддержки 10-й версии Adobe FlashPlayer) - by 1234ru)
© Все права на данную статью принадлежат порталу webew.ru. Перепечатка в интернет-изданиях разрешается только с указанием автора и прямой ссылки на оригинальную статью. Перепечатка в печатных изданиях допускается только с разрешения редакции.