2014-12-17 7 views
0

빠른 회의 유형 앱에서 작업하고 있습니다. 어디에서 내 앱이 시스템에 설치되어 있는지 여부를 확인하고 싶습니다.Google 크롬 : 특정 앱이 시스템에 설치되어 있는지 확인하십시오.

내 응용 프로그램 설치 프로그램은 플러그인을 Mac OSX의 "인터넷 플러그인"폴더에, Linux의 ".mozilla/plugins"폴더에 복사합니다.

이 웹 플러그인 (NPAPI)을 사용하여 시스템에 응용 프로그램이 설치되어 있는지 여부를 감지하고 있습니다.

아시다시피 웹 플러그인은 navigator.plugins을 사용하여 액세스 할 수 있습니다.

플러그인이 plugins 배열에서 발견되면 우리는 설치된 응용 프로그램에 의해 구현 된 사용자 지정 URL 처리기를 사용하여 응용 프로그램을 시작하기로 결정했습니다. 그렇지 않으면 설치 프로그램을 다운로드하고 사용자에게 응용 프로그램을 먼저 설치하도록 요청합니다.

Firefox와 Safari에서는 제대로 작동하지만 Chrome에서는 정상적으로 작동합니다. 또한 Chromium은 NPAPI 플러그인을 지원하지 않으며 Google 크롬은 NPAPI 플러그인을 지원하지 않습니다.

필자는 Pepper Plugin을 사용하려고했지만 설치된 응용 프로그램을 확인하거나 로컬 파일에 액세스하는 API가 사용자 집 디렉토리에 없다고 생각했습니다.

어떻게하는지 알아보십시오. 이 포인터는 도움이 될 것입니다.

+0

하나의 작은 수정 : Chromium은 동일한 코드베이스이기 때문에 Google 크롬이 수행하는 NPAPI에 대해 정확히 동일한 수준의 지원을 제공합니다. – smorgan

답변

0

이미 사용자 정의 프로토콜을 등록 중이므로 detecting the presence of a protocol handler으로 바뀝니다.

+0

이 플러그인 접근 방식은 Windows 및 Mac OSX에서 훌륭하게 작동하지만 Ubuntu와 같은 Linux OS에서는 실패합니다. 우분투에서는 Chrome이 플러그인 자체를 감지하지 못했습니다. navigator.plugins는 플러그인을 나열하지 않습니다. – Omkar

+0

플러그인을 사용하라는 제안을하지 않았지만 다른 질문도 살펴 봐야한다고 대답했습니다. – smorgan

+0

죄송합니다. 마지막 의견에 한 가지를 언급하는 것을 잊어 버렸습니다. 사용자가 제공 한 링크에서 언급 한 다른 접근 방식, 즉 맞춤형 프로토콜 처리기를 사용하여 응용 프로그램을 시작하고 응용 프로그램을 감지하는 것은 설치되었는지 여부입니다. 이 방법은 우분투 14.04처럼 윈도우와 맥에서는 훌륭하게 작동하지만 리눅스 OS에서는 그렇지 않다. 어쨌든 답장을 보내 주셔서 감사합니다. – Omkar