FireBreath를 사용하여 크로스 브라우저 플러그인을 만듭니다. HTML 테스트 페이지에서 다음 기능을 사용하여 플러그인이 설치되어 있는지 여부를 감지하고 플러그인이 발견되지 않으면 MSI 설치 프로그램 다운로드를 시작합니다.ActiveXObject를 사용하여 FireBreath 플러그인의 인스턴스 만들기
function checkPlugin(){
var pluginInstalled = false;
if ((navigator.userAgent.indexOf('MSIE') != -1) && (navigator.userAgent.indexOf('Win') != -1)) {
// For IE
var pluginObject = null;
try {
pluginObject = new ActiveXObject('Test.TestPlugin');
if(pluginObject){
pluginInstalled = true;
//pluginObject.Dispose();
}
} catch (e) {
// Cannot load the plugin. Most probably it's not installed
console.log(e.message);
}
}else{
// For other browsers
pluginInstalled = (navigator.mimeTypes && navigator.mimeTypes["application/x-test"] && navigator.plugins["TestPlugin"]);
}
return pluginInstalled;
}
위의 기능은 IE를 제외한 다른 모든 브라우저에서 정상적으로 작동합니다. ActiveXObject를 사용하여 플러그인의 인스턴스를 만들려고하면 IE 9와 10 모두 충돌을 일으 킵니다. 필자는이 기능에 대한 지원이 FireBreath 1.4 이후부터 추가되었지만 FireBreath의 최신 버전 1.7을 사용하고 있다고 생각합니다. 이 문제를 해결하는 데 도움이됩니다. :)