barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

пятница, 24 июня 2011 г.

Определение версии Flash Player из JavaScript

Нашёл такую реализацию (100% работоспособность не проверил, но, по крайней мере наличие 10 FP в Opera / FF / IE 8 определяет, ровно как и отсутствие FP вообще в IE 8):

function flashVersion()
{
     if (!navigator.f)
          {
          navigator.f = '0';
     }
     var plugin = 0;
     plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;
     if (plugin)
          {
          var re = /(\d+)\.\d+/;
          var out = re.exec(plugin.description);
          if (out.length>1) navigator.f = parseInt(out[1]);
          }
     else
     if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0 /*&& (navigator.userAgent.indexOf("Windows 95")>=0 || navigator.userAgent.indexOf("Windows NT")>=0 || navigator.userAgent.indexOf("Windows 98")>=0 || navigator.userAgent.indexOf("Windows XP")>=0)*/)
          {
          try {
               for (i = 3; i <= 11; i++) {
                    if (eval('new ActiveXObject("ShockwaveFlash.ShockwaveFlash.'+i+'")')) {
                         navigator.f = i;
                         }
                    }
               }
          catch(e) {}
          }
     else
          {
          navigator.f = '0';
          }
     return navigator.f;
}

Комментариев нет:

Отправить комментарий