2011-09-14 6 views
2

이 내 HTML 그러나 브라우저가 플래시를 지원하지 않는 경우 다음 내가 플래시 부분어떻게 플래시의 브라우저 지원을 감지 할 수 있습니까?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
     <title>Untitled Document</title> 
     <script type="text/javascript"> 
      if(typeof navigator.plugins['Shockwave Flash']!=='undefined'){ 
       alert('support'); 
      }else{ 
       alert('not support'); 
      } 
     </script> 
    </head> 
    <body> 
     <!-- Empty --> 
    </body> 
</html> 
+3

PHP로 무엇을 할 필요가 않습니다? –

답변

3

PHP에서 플래시 지원을 감지 할 수있는 방법이 없습니다에 이미지를 교체합니다. php는 서버 측 언어이며 웹 브라우저의 요청 만 볼 수 있습니다. 요청이 플래시가 설치되어 있거나 설치되어 있지 않은 것처럼 보이기 때문에 PHP 나 서버 측 프로그램에서 두 경우를 구별 할 방법이 없습니다.

매번 Flash를 사용할 수있을 때 HTML/CSS/JavaScript로 돌아가는 웹 사이트를 보내야합니다. 솔직히 말해서 고급 애플리케이션 (지도 애플리케이션, 3D 및/또는 비디오 채팅)을 사용하지 않는 한, 메뉴와 같은 간단한 작업을 위해 먼저 Flash를 사용하지 않아야합니다. 여기

+0

jquery에서 감지 할 수 있습니까? –

+0

@vipul 예. JavaScript 및 jQuery (JavaScript로 작성)는 ** 클라이언트 측 **에서 실행되므로 질문의 코드에서와 같이 플러그인 정보에 액세스 할 수 있습니다. – phihag

4

그것입니다

var _flash_installed = ((typeof navigator.plugins != "undefined" && typeof navigator.plugins["Shockwave Flash"] == "object") || (window.ActiveXObject && (new ActiveXObject("ShockwaveFlash.ShockwaveFlash")) != false)); 
+1

PHP (서버 측) 솔루션을 가리키는 (편집하기 전에) 질문 이었기 때문에 이것은 순수한 JavaScript (클라이언트 측) 솔루션이라는 것을 강조 할 필요가 있습니다. 어쨌든, 아주 좋은 (그러나 단순한) 솔루션 인 Ofer Zelig를 사용해 주셔서 감사합니다! :] – trejder

0

이 기능은 사용자가 플래시 지원이있는 경우 브라우저가 알 수 있습니다 :

function is_flash_support() { 
    var flash_support = false; 
    try { 
     var fo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash'); 
     if(fo) { 
      flash_support = true; 
     } 
    } catch (e) { 
     if(navigator.mimeTypes && navigator.mimeTypes['application/x-shockwave-flash'] != undefined && navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin) { 
      flash_support = true; 
     } 
    } 
    return flash_support; 
} 
관련 문제