2011-02-25 96 views
3

在我的應用程序中,我想打開客戶機上存在的文件。我創建了兩個應用程序:桌面和Web應用程序。當用戶安裝桌面應用程序時,有一些文件被複制到其安裝路徑中,我想通過javascript從我的Web應用程序打開這些文件。使用javascript打開文件,客戶端

+0

JavaScript是沙盒內的瀏覽器,這是不可能的。 – Lazarus 2011-02-25 09:26:11

回答

3

出於安全原因,瀏覽器與主機(沙盒)隔離。

瀏覽器訪問本地文件的唯一方式(除了沙箱內的文件,即cookies和緩存),是用戶明確使用的HTML文件控件。

0

瀏覽器沙盒是針對非常情況。如果您可以使用JavaScript打開您自己的文件,那麼誰來阻止我使用JavaScript打開文件。

解決此問題的常用方法是使用ActiveX組件並通過JavaScript與其交互。這會限制你到IE瀏覽器。

0

這個怎麼樣?

<script> 
var oRequest; 

if(document.all) { 
    // Internet Explorer 
    oRequest = new ActiveXObject("Microsoft.XMLHTTP") 
} 
else { 
    // Mozilla 
    oRequest = new XMLHttpRequest(); 
} 


oRequest.open("GET", "file:///C:/myLocalFile.txt", false); 
oRequest.send(null); 
textToBeWritten = oRequest.responseText; 

document.write(textToBeWritten); 
</script> 
+0

您是否嘗試過不在同一臺計算機上的位置? – Oded 2011-02-25 09:36:15

0

至於俄德上面出於安全原因,它不可能提到,話說回來 如果有客戶端機器上已經安裝的應用程序,那麼你可以向它傳遞參數和執行應用程序,在這種情況下,你會將文件的URI傳遞給應用程序,以便它在機器上打開,但我無法在瀏覽器中看到它發生的情況。

相關問題