2014-10-04 5 views
0

이것은 "xupnpd"플러그인이 호스트 (Linux의 settopbox)에 설치되었을 때 실행하려는 기능입니다. 이 함수는 다른 클래스 링크가있는 html 문서에 배치됩니다. 플러그인 존재 여부를 확인하려면 바이너리의 존재 여부를 확인합니다. 플러그인이 설치되어 있지 않으면 링크가 보이지 않아야합니다. <script language="JavaScript"> //document.write('<a class=linelink2 href="' + window.location.protocol + '//' + window.location.hostname + ':4044' + window.location.pathname + '" target=main >xupnpd</a> ');Javascript : 호스트의 특정 파일이있을 때만 함수를 실행하십시오.

+0

JS는 일반적으로 보안상의 이유로, 파일의 존재를 찾는 방법이 없습니다 브라우저 컨텍스트에서 사용됩니다. – IMSoP

+0

이 작업은 서버 측에서 수행해야합니다. 서버에만 해당 플러그인이 설치되어 있는지 여부를 알 수 있습니다. – Bergi

답변

0

난 당신이 HTTP가와 상호 작용할 수 있습니다 말한다 API하지만 전혀이 플러그인을 모르는이 결합하는 방법 ... 나는 파일이 실존 확인하는 몇 가지 방법을 발견,하지만 난 몰라 귀하의 링크가하고있는 것처럼 요청을하십시오. 파일이 존재하는지 확인하는 대신 응답을 받았는지 확인하라는 요청을 할 수 있습니까? 또한 플러그인 설치가 아니라 플러그인이 실행 중인지 확인하는 이점이 있습니다.

예를 들어 (선명도를 위해 jQuery를 사용하여) :

<script type="text/javascript"> 
var url = window.location.protocol + '//' + window.location.hostname + ':4044/ui/api'; 

$.get(url, null, function(){ 
    $('#linelinkHolder').html('<a class=linelink2 href="' + window.location.protocol + '//' + window.location.hostname + ':4044' + window.location.pathname + '" target=main >xupnpd</a> '); 
}); 
</script> 

<div id="linelinkHolder"></div> 
+0

고마워요, 우린 상자에 넣고 jquery도 가져 가지 않아요. 응답을 기다리는 HTTP 요청을 찾을 수 있습니까? 200 OK "'대답? 왜냐하면 우리는 다른 플러그인도 가지고있어서 웹 인터페이스를 제공 할 것이기 때문에 이것을 다른 플러그인에 적용 할 수 있습니다. 이 문제를 해결하기 위해 나는 개발자가 아니며, 현재 우리 프로젝트에는 다른 개발자와 기여자가있는 두 명의 주요 개발자 만 있습니다. 난 단지 수정하고 내 가난한 HTML 지식을 조금 webinterface를 확장하려고 ... –

+0

예 원시 [XMLHttpRequest] (https://developer.mozilla.org/en-US)를 사용하여 동일한 작업을 수행 할 수 있어야합니다./docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest),'200' 응답 상태를 확인하십시오. 방금 접근을 명확하게하기 위해 jquery에서 수행했습니다. – Rhumborl

관련 문제