programing

플래시가 설치되어 있는지 확인하고, 설치되어 있지 않은 경우 사용자에게 알려주는 숨겨진 디바를 표시하려면 어떻게 해야 합니까?

minimums 2023. 10. 30. 20:51
반응형

플래시가 설치되어 있는지 확인하고, 설치되어 있지 않은 경우 사용자에게 알려주는 숨겨진 디바를 표시하려면 어떻게 해야 합니까?

javascript/jQuery/etc를 사용하여 플래시가 설치되었는지 여부를 감지하고 설치되지 않은 경우 사용자에게 플래시를 설치해야 한다는 정보가 포함된 div를 표시하려면 어떻게 해야 합니까?

한다면swfobject충분하지 않거나 조금 더 특별한 것을 만들어야 할 경우 다음과 같이 시도해 보십시오.

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

7과 8과 함께 작동합니다.

@Drewid의 응답은 플래시 플러그인이 비활성화된 상태에서 설치된 경우 내 Firefox 25에서 작동하지 않았습니다.

@그 답변에서 스피어의 코멘트는 파이어폭스에서는 작동했지만 IE 버전에서는 작동하지 않았습니다.

그래서 그들의 코드를 모두 합쳐서 이것을 얻었습니다.Google Chrome 31, Firefox 25, IE 8-10에서 테스트되었습니다.드루이드와 뒤집힌 창 고마워요 :)

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;
  }
}

swf 개체를 사용합니다.디브가 설치되면 플래시로 대체됩니다.참조: http://code.google.com/p/swfobject/

navigator.mime을 사용할 수 있습니다.종류들.

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

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

$.browser.flash == true

사용할 수 있어야 합니다.

swfobject.getFlashPlayerVersion().major === 0

swfobject-Plugin을 사용합니다.

저는 어도비의 탐지 키트를 사용했는데, 원래는 그냥 지나가던 사람이 제안했습니다.그들의 시스템은 버전 번호를 감지하고 당신의 '필수 버전'과 비교하기 때문에 좋습니다.

한 가지 나쁜 점은 감지된 플래시 버전을 보여주는 경고를 수행한다는 것인데, 이는 사용자 친화적이지 않습니다.갑자기 상자 하나가 무작위로 보이는 숫자들과 함께 뜹니다.

고려해야 할 몇 가지 수정 사항:

  • 경보를 해제합니다
  • 개체(또는 배열)를 반환하도록 변경합니다. --- 첫 번째 요소는 "사용자의 컴퓨터에서 발견된 필수 버전이었습니까?"에 대한 부울 true/false입니다. -- 두 번째 요소는 사용자의 컴퓨터에서 발견된 실제 버전 번호입니다.

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  
        }

언급URL : https://stackoverflow.com/questions/998245/how-can-i-detect-if-flash-is-installed-and-if-not-display-a-hidden-div-that-inf

반응형