私のアプリケーションでは、クライアントマシン上に存在するファイルを開きたいとします。私はデスクトップアプリケーションとWebアプリケーションという2つのアプリケーションを作成しました。ユーザーがデスクトップアプリケーションをインストールすると、インストールパスにコピーされたファイルがいくつかあり、それらのファイルをjavascriptを使用してWebアプリケーションから開く必要があります。javacriptを使用してファイルを開く、クライアント側
答えて
ブラウザはセキュリティ上の理由から、ホストマシン(サンドボックス)から隔離されています。
ブラウザがローカルファイル(サンドボックス内のもの、つまりCookieとキャッシュを除く)にアクセスする唯一の方法は、ユーザーが明示的に使用するHTMLファイルコントロールです。
残念ながら、JavaScriptはクライアントのファイル構造にアクセスできません。多分あなたのWebアプリケーションのためにAdobe AIRのようなものを使うことができますか?
http://www.adobe.com/devnet/air/flex/articles/exploring_file_capabilities.html
ブラウザは、非常にシナリオに対してサンドボックス化されています。 JavaScriptを使用して独自のファイルを開くことができれば、誰がJavaScriptを使用してファイルを開くのを止めるのですか。
この問題を解決する通常の方法は、ActiveXコンポーネントを使用し、JavaScriptを使用して対話することです。これはIEにあなたを制限します。
この点についてはどうですか?オデッドとして
<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>
同じマシンにない場所から試しましたか? – Oded
を使用すると、クライアント・マシンにすでにインストールされたアプリケーションを持っている なら、あなたはこのような場合には、それにパラメータを渡すと、アプリケーションを実行できることを言った、セキュリティはその可能性はないの理由で上記していますそのファイルのURIをアプリケーションに渡して、マシン上で開くようにしますが、ブラウザでそれが起こっているのを見ることはできません。
ブラウザ内でJavascriptがサンドボックス化されていますが、これはできません。 – Lazarus