복붙노트

[JQUERY] 어떻게 플래시가 설치되어있는 경우 감지되지 않을 경우, 숨겨진 DIV 정보 용하는 사용자를 표시 할 수 있습니까?

JQUERY

어떻게 플래시가 설치되어있는 경우 감지되지 않을 경우, 숨겨진 DIV 정보 용하는 사용자를 표시 할 수 있습니까?

해결법


  1. 1.사용 swfobject. 가 설치되어있는 경우는 플래시 사업부를 대체합니다. 참조 : http://code.google.com/p/swfobject/

    사용 swfobject. 가 설치되어있는 경우는 플래시 사업부를 대체합니다. 참조 : http://code.google.com/p/swfobject/


  2. 2.swfobject 충분하지 않습니다, 또는 좀 더 맞춤 뭔가를 작성해야하는 경우,이 시도 :

    swfobject 충분하지 않습니다, 또는 좀 더 맞춤 뭔가를 작성해야하는 경우,이 시도 :

    var hasFlash = false;
    try {
        hasFlash = Boolean(new ActiveXObject('ShockwaveFlash.ShockwaveFlash'));
    } catch(exception) {
        hasFlash = ('undefined' != typeof navigator.mimeTypes['application/x-shockwave-flash']);
    }
    

    그것은 7, 8와 함께 작동합니다.


  3. 3.플래시 플러그인을 바로 사용할 수 있지만, 설치되어있는 경우 Drewid의 대답 @ 내 파이어 폭스 25에서 작동하지 않았다.

    플래시 플러그인을 바로 사용할 수 있지만, 설치되어있는 경우 Drewid의 대답 @ 내 파이어 폭스 25에서 작동하지 않았다.

    @ 그 대답 invertedSpear의 코멘트는 IE 버전에 파이어 폭스에서 아니지만했다.

    그래서 모두 자신의 코드를 결합하고 이것을 얻었다. 구글 크롬 31, 파이어 폭스 (25), IE 8 ~ 10에서 테스트. 감사합니다 Drewid 및 invertedSpear :)

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

  4. 4.당신은에서는 navigator.mimeTypes를 사용할 수 있습니다.

    당신은에서는 navigator.mimeTypes를 사용할 수 있습니다.

    if (navigator.mimeTypes ["application/x-shockwave-flash"] == undefined)
        $("#someDiv").show ();
    

  5. 5.jqplugin : http://code.google.com/p/jqplugin/

    jqplugin : http://code.google.com/p/jqplugin/

    $.browser.flash == true
    

  6. 6.당신은 또한 사용할 수 있어야합니다 ..

    당신은 또한 사용할 수 있어야합니다 ..

    swfobject.getFlashPlayerVersion().major === 0
    

    swfobject - 플러그인과 함께.


  7. 7.나는 원래 justpassinby에 의해 제안 어도비의 탐지 키트를 사용했다. 이 버전 번호를 감지하여 '필요한 버전'에 당신을 위해 그것을 비교하기 때문에 자신의 시스템이 좋은

    나는 원래 justpassinby에 의해 제안 어도비의 탐지 키트를 사용했다. 이 버전 번호를 감지하여 '필요한 버전'에 당신을 위해 그것을 비교하기 때문에 자신의 시스템이 좋은

    하나의 나쁜 점은 매우 사용자 친화적 인 아니다 플래시의 감지 버전을 보여주는 경고를 수행합니다. 갑자기 상자의 모든 일부 겉보기에 임의의 숫자로 나타납니다.

    일부 수정을 고려해야 할 수 있습니다 :


  8. 8.http://www.featureblend.com/javascript-flash-detection-library.html 매우 매우 축소 된 버전 (전용 부울 플래시 감지)

    http://www.featureblend.com/javascript-flash-detection-library.html 매우 매우 축소 된 버전 (전용 부울 플래시 감지)

    var isFlashInstalled = (function(){
    var b=new function(){var n=this;n.c=!1;var a="ShockwaveFlash.ShockwaveFlash",r=[{name:a+".7",version:function(n){return e(n)}},{name:a+".6",version:function(n){var a="6,0,21";try{n.AllowScriptAccess="always",a=e(n)}catch(r){}return a}},{name:a,version:function(n){return e(n)}}],e=function(n){var a=-1;try{a=n.GetVariable("$version")}catch(r){}return a},i=function(n){var a=-1;try{a=new ActiveXObject(n)}catch(r){a={activeXError:!0}}return a};n.b=function(){if(navigator.plugins&&navigator.plugins.length>0){var a="application/x-shockwave-flash",e=navigator.mimeTypes;e&&e[a]&&e[a].enabledPlugin&&e[a].enabledPlugin.description&&(n.c=!0)}else if(-1==navigator.appVersion.indexOf("Mac")&&window.execScript)for(var t=-1,c=0;c<r.length&&-1==t;c++){var o=i(r[c].name);o.activeXError||(n.c=!0)}}()};  
    return b.c;
        })();
    
    if(isFlashInstalled){
        // Do something with flash
        }else{
        // Don't use flash  
            }
    
  9. from https://stackoverflow.com/questions/998245/how-can-i-detect-if-flash-is-installed-and-if-not-display-a-hidden-div-that-inf by cc-by-sa and MIT license