2014-11-13 5 views
0

현재 웹 응용 프로그램을 개발 중입니다. 응용 프로그램은 컴퓨터에 설치된 다른 응용 프로그램을 열어야합니다. 최종 사용자는 Windows와 Internet Explorer를 사용하며 응용 프로그램은 다른 웹 브라우저를 지원할 필요가 없습니다.웹 페이지에서 컴퓨터에 설치된 응용 프로그램 호출

어떤 사람들은 자바 스크립트에서 "URL scheme"을 사용해야한다고 말했지만 어떤 예도 찾을 수 없습니다.

나는 How to launch an EXE from Web page (asp.net)

+0

가능한 중복 ([웹 페이지 (asp.net)에서 EXE를 시작하는 방법] http://stackoverflow.com/questions/916925/how-to-launch-an-exe-from-web-page-asp-net) – smorgan

+0

귀하의 질문은 귀하가 참조한 질문과 정확히 동일합니다. 단지 다시 묻는 것은 설명을 얻는 좋은 방법이 아닙니다. – smorgan

답변

0

그것은 그렇게 쉬운 일이 아닙니다, 가능한 해결책을 찾았지만 액티브 X를 사용합니다. 각 웹 브라우저마다 고유 한 플러그인을 개발해야합니다. 유용한 링크는 NPAPI, PPAPIIE BHO입니다.

또 다른 방법은 ClickOnce 응용 프로그램을 실행 프로그램으로 사용하는 것입니다.

+0

시스템은 Internet Explorer 및 Windows에서만 사용됩니다. 운영 체제 리소스를 호출 할 수있는 옵션이 있습니까? – choqueiro

+0

이것이 인터넷 익스플로러 인 경우 - [Direct Launch] (http://msdn.microsoft.com/en-us/library/ie/jj215788(v=vs.85) .aspx) 기술이 도움이 될 수 있습니다. 로컬 리소스 액세스를 구현하는 안전한 방법은 없습니다. 자바 스크립트. ClickOnce를 선호합니다. 사용자에게 앱을 실행하도록 요청하는 명확하고 직접적인 방법이기 때문입니다. – Ivan

0

이것은 가능한 또 다른 해결책입니다.

Check if URL scheme is supported in javascript

HTML :

<a class="uri-link" data-uri="qobuzapp://" href="#">URI</a>​ 

자바 스크립트 (여기에 jQuery를 사용하여) :

var windowHasFocus; 

$(window).focus(function() { 
    windowHasFocus = true; 
}).blur(function() { 
    windowHasFocus = false; 
}); 

function goToUri(uri) { 
    document.location = uri; 
    setTimeout(function(){ 
    if(windowHasFocus) { 
     if(confirm('You do not seem to have Qobuz installed, do you want to go download it now?')){ 
     document.location = 'http://www.qobuz.com'; 
     } 
    } 
    }, 100); 
} 

$('a').on('click', function(){ 
    goToUri($(this).data('uri')); 
});​ 
관련 문제