플래시가 설치되어 있는지 확인하고, 설치되어 있지 않은 경우 사용자에게 알려주는 숨겨진 디바를 표시하려면 어떻게 해야 합니까?
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
'programing' 카테고리의 다른 글
XPath 사용 - Windows 이벤트 로그를 검색하기 위해 시작하거나 포함하는 기능 (0) | 2023.10.30 |
---|---|
wp_insert_post를 사용하여 특징 이미지 설정 (0) | 2023.10.30 |
워드프레스 필터에 추가 파라미터를 전달하는 방법은? (0) | 2023.10.30 |
CSS로 점멸/점멸 문자를 만드는 방법 3 (0) | 2023.10.30 |
각도 변환을 사용하여 번역을 표시하는 방법은 무엇입니까? (0) | 2023.10.30 |