2014-10-04 32 views
0

當主機(Linux settopbox)上安裝插件「xupnpd」時,這是我要執行的功能。該函數放置在具有其他類鏈接的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 2014-10-04 12:28:53

+0

這應該在服務器端完成。只有你的服務器知道它是否安裝了該插件。 – Bergi 2014-10-04 12:44:36

回答

0

我沒有,不過在API知道這個插件說,你可以用它使用HTTP交互獲取請求,因爲您的鏈接正在進行。而不是檢查文件是否存在,你可以做一個請求,看看你是否得到迴應?這也有檢查插件運行的好處,而不僅僅是安裝。

例如(使用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?因爲我們還有其他插件,它們將提供一個web界面,所以我們可以將其用於其他插件。爲了解決這個問題,我不是開發人員,我們的項目目前只有兩個主要的開發人員,他們從事其他事情和一些供應商。我只嘗試修復和擴展web界面,使用我的可憐的html知識... – 2014-10-04 13:08:28

+0

是的,你應該可以使用raw [XMLHttpRequest](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest),並檢查「200」響應狀態。我只是在jQuery中做了這個方法。 – Rhumborl 2014-10-04 13:15:22

相關問題