2011-02-25 10 views
3

私のアプリケーションでは、クライアントマシン上に存在するファイルを開きたいとします。私はデスクトップアプリケーションとWebアプリケーションという2つのアプリケーションを作成しました。ユーザーがデスクトップアプリケーションをインストールすると、インストールパスにコピーされたファイルがいくつかあり、それらのファイルをjavascriptを使用してWebアプリケーションから開く必要があります。javacriptを使用してファイルを開く、クライアント側

+0

ブラウザ内でJavascriptがサンドボックス化されていますが、これはできません。 – Lazarus

答えて

3

ブラウザはセキュリティ上の理由から、ホストマシン(サンドボックス)から隔離されています。

ブラウザがローカルファイル(サンドボックス内のもの、つまりCookieとキャッシュを除く)にアクセスする唯一の方法は、ユーザーが明示的に使用する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

0

を使用すると、クライアント・マシンにすでにインストールされたアプリケーションを持っている なら、あなたはこのような場合には、それにパラメータを渡すと、アプリケーションを実行できることを言った、セキュリティはその可能性はないの理由で上記していますそのファイルのURIをアプリケーションに渡して、マシン上で開くようにしますが、ブラウザでそれが起こっているのを見ることはできません。