Как я могу определить, отключен ли Flash Player в браузере с использованием JavaScript? - PullRequest
3 голосов
/ 29 июня 2010

Я знаю, как определить, установлен ли Flash Player в браузере. Для этого я использую функцию hasFlashPlayerVersion () swfobject . Тем не менее, я не могу найти документацию о том, как определить, установлен ли плагин и просто отключен. В наборе Flash Player Detection Kit я не видел никакой документации, которая проверяет, включен ли плагин.

Ответы [ 4 ]

9 голосов
/ 09 июля 2010

Я согласен с Ape и проделал нечто подобное долгое время назад со страницей, на которой было написано что-то вроде «обнаружение флеш-плеера ...», и ждал 20 секунд, пока загрузился SWF-файл, и немедленно перенаправил браузер со страницы.

Если время таймера истекло (SWF-файл никогда не загружался), он предложит пользователю установить Flash.

Можно было бы объединить этот подход с упомянутой вами функцией swfobject hasFlashPlayerVersion (). Если у них есть вспышка, но swf никогда не загружается, тогда вполне безопасно предположить, что вспышка отключена.

Итак, на самом деле есть только 3 варианта:

  • Без вспышки
  • Вспышка: включена
  • Вспышка: отключена

В псевдокоде это может выглядеть следующим образом:

var hasFlash = detectFlashPlayerInstalled();
var flashEnabled = false;

/* attempt to load the swf file then wait for some time, then... */

var isDisabled = hasFlash && !flashEnabled;

Это работает вместе с функциями JavaScript, такими как:

function flashAlive() {
    flashEnabled = true;
}
function detectFlashPlayerInstalled() { 
    //TODO: detect flash in a better way, this will do for now
    return swfobject.hasFlashPlayerVersion(VERSION);
}

вызывается из крошечного SWF-файла, содержащего:

getURL("javascript:flashAlive();");

Надеюсь, это поможет.

0 голосов
/ 08 июля 2010

Вот хорошая библиотека, которую я использую: http://www.featureblend.com/javascript-flash-detection-library.html

0 голосов
/ 08 июля 2010

Не думаю, что можно определить, установлена ​​ли вспышка, но отключена.

Если кто-то отключит Flash, он может не захотеть сказать, отключен он или не установлен вообще.Поэтому браузер просто сообщает вам, что он «недоступен».

0 голосов
/ 29 июня 2010

Вы можете сделать вызов javascript в невидимом SWF, который связывается с JavaScript браузера. Если происходит тайм-аут, то это связано с тем, что в браузере не установлен флэш-плеер или флэш-плеер отключен.

getURL("javascript:jsfunction();");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...