How to validate web plug-In
안녕하세요. Luyin 입니다.
오늘은 현업에서 쓰이는 Web 플러그인들의 설치 유무 및 버전 확인 방법에 대해서 정리해볼까 합니다.
세계적인 추세를 봤을 때, 브라우저들은 더 이상 플러그인들을 지원하지 않는 추세 입니다.
그래도 아직까지나, 그 강력한 퍼포먼스 때문에 플러그인을 계속해서 사용하고 있는 서비스들이 많은데요.
우선, 현재 (2016.10.21 기준) 브라우저 별 플러그인 지원현황을 살펴보겠습니다.
IE |
Edge |
Chrome |
Safari |
Firefox |
ActiveX |
No Support |
PPAPI |
NPAPI |
No Support |
[표1 플러그인 브라우저별 지원현황 표
※ 자세한 정보는 아래링크에서 확인 하시면 됩니다.
http://www.koreahtml5.kr/jsp/supportCenter/activeXResearchCur.jsp
위의 표의 결과를 요약하면, IE, Chrome, Safari 브라우저 에서만 플러그인을 사용하고 있다고 할 수 있습니다.
그러면, 본격적으로 플러그인 설치 유무 확인 및 버전 확인 방법에 대해서 다뤄보겠습니다.
첫째, 웹 플러그인 설치 확인 방법입니다.
ActiveX
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | var ActiveXPluginInfo = { Name: 'Hanwha_ACTIVEX.hanwha_activexCtrl.1', Version: 130, Path: 'plugin/PluginViewer.exe' } function ActiveXPlugInDetect(){ try { var axObj = new ActiveXObject(ActiveXPluginInfo .Name); if(axObj){ console.log("ActiveX is Detected"); return true; } else { console.log("ActiveX isn't Detected"); return false; } } catch (e) { console.log("ActiveX isn't Detected"); return false; } } | cs |
NPAPI
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | var NPAPIPlugInInfo = { Name : 'Hanwha Viewer Plugin', Description : 'Hanwha Viewer plugin', Version: 130, Path: 'plugin/PluginViewer.pkg' }; function NPAPIPlugInDetect(){ var plugins = navigator.mimeTypes; for (var i=0; i< plugins.length; i++) { if (plugins[i].description === NPAPIPlugInInfo.Description) { console.log("NPAPI is Detected"); return true; } } console.log("NPAPI isn't Detected"); return false; } | cs |
두번째, 웹 플러그인 설치 버전 확인 방법 입니다.
전제 조건: Plug-In 에는 GetCurrentVersion()이라고 하는 버전확인 메소드가 존재합니다.
ActiveX / NPAPI
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | var ActiveXPluginInfo = { Name: 'Hanwha_ACTIVEX.hanwha_activexCtrl.1', Version: 130, Path: 'plugin/PluginViewer.exe' }; var NPAPIPlugInInfo = { Name : 'Hanwha Viewer Plugin', Description : 'Hanwha Viewer plugin', Version: 130, Path: 'plugin/PluginViewer.pkg' }; function PlugInVersionCheck(PlugInObjectElement) { var InstalledPlugInVersion = PlugInObjectElement.GetCurrentVersion(); console.log("Installed ActiveX Version : " + InstalledPlugInVersion); if(ClientBrowser === 'IE') { if(ActiveXPluginInfo.Version > InstalledPlugInVersion) { return false; } } else if(ClientBrowser === 'Safari' || ClientBrowser === 'Firefox') { if(NPAPIPlugInInfo.Version > InstalledPlugInVersion) { return false; } } return true; } | cs |
'컴퓨터' 카테고리의 다른 글
[Java] 키보드 입력받는 방법 (2) | 2017.02.14 |
---|---|
[5][라즈베리파이 홈서버 구축] 외장하드 절전 모드 추가하기 (0) | 2017.02.11 |
ESP8266 개발하기 Step1 개발환경 구축 (0) | 2016.06.26 |
[10][라즈베리파이 홈서버 구축] 개인용 클라우드 스토리지 pydio (3) | 2016.05.23 |
Sublime Text 단축키 (0) | 2016.05.17 |