LINUX.ORG.RU

Как проверить, включен ли флэш-плеер?

 ,


1

3

Есть у меня код, но он проверяет установлен ли флеш, а нужно еще проверить, если установлен, то включен ли, или нет — как это можно реализовать? Код:

var flashtext = "";
	var number = 0;
    var checkIfFlashEnabled = function() { 
   var isFlashEnabled = false; 
   // Проверка для всех браузеров, кроме IE 
   if (typeof(navigator.plugins)!="undefined" 
       && typeof(navigator.plugins["Shockwave Flash"])=="object" 
   ) { 
      isFlashEnabled = true; 
   } else if (typeof  window.ActiveXObject !=  "undefined") { 
      // Проверка для IE 
      try { 
         if (new ActiveXObject("ShockwaveFlash.ShockwaveFlash")) { 
            isFlashEnabled = true; 
         } 
      } catch(e) {}; 
   }; 
   return isFlashEnabled; 
} 
	function changetext1 () {
		if (number <= 99){
		number++;
		flashtext = "Идет проверка флеш "+number+"%";
		document.getElementById("flash").innerHTML = flashtext;
		}
	}
	function changetext2 () {
		if (checkIfFlashEnabled) {
	document.getElementById("flash").innerHTML = "Флеш есть, можно запускать флеш-версию";}
		else {
			document.getElementById("flash").innerHTML = "Флеш отсутствует, запускать html-версию";
		}
	}
	if (number != 100)	{setInterval(changetext1, 30);}
	setTimeout(changetext2, 4000);



Последнее исправление: makeB (всего исправлений: 1)

Нашел ответ, код такой:

function detectingFlash() {
var hasFlash = false;
try {
var fo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
if(fo) hasFlash = true;
}
catch(e) {
if(navigator.mimeTypes ["application/x-shockwave-flash"] != undefined)
hasFlash = true;
}
return hasFlash;
}

makeB
() автор топика
Ответ на: комментарий от makeB

так как тема уже решена — то я придерусь к деталям, которые не относятся к теме :-) ..

что это за такое бредовое выражение?:

if(navigator.mimeTypes ["application/x-shockwave-flash"] != undefined) { ... }

тут уж надо выбрать одно из двух:

либо убрать ``undefined``:

if (navigator.mimeTypes ["application/x-shockwave-flash"]) { ... }

либо поставить ``!==`` (вместо ``!=``):

if (navigator.mimeTypes ["application/x-shockwave-flash"] !== undefined) { ... }

либо вообще написать через ``in``:

if ("application/x-shockwave-flash" in navigator.mimeTypes) { ... }

* * * * *

Но НИ В КОЕМ СЛУЧАЕ НЕ писать ``... != undefined``

user_id_68054 ★★★★★
()
Последнее исправление: user_id_68054 (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.