1

ユーザーのローカル マシン (オフライン) で実行したい HTML ファイルがいくつかあります。プログラム ファイル フォルダがどのハード ドライブにあるかを調べる方法はありますか?

注:セキュリティ上の問題を引き起こさない方法を知っていますか?

4

4 に答える 4

1

がありますfile system api-HTML5ドラフトドキュメントを見てください

requestFileSystem()初めて電話をかける場合は、アプリ用に新しいストレージが作成されます。このファイルシステムはサンドボックス化されていることを覚えておくことが重要です。つまり、あるWebアプリが別のアプリのファイルにアクセスすることはできません。これは、ユーザーのハードドライブ上の任意のフォルダー(マイピクチャー、マイドキュメントなど)に対してファイルの読み取り/書き込みができないことも意味します。

したがって、Webページでユーザーのプログラムフォルダーを調べられるようにすることを考えている場合、答えはノーです。AdobeAirやWindows8Metroアプリなどのアプリエンジンが必要になります。

于 2012-05-18T19:56:48.420 に答える
1

基本的に、これを行うクロスブラウザの方法はありません。Internet Explorer のみのソリューションでよろしければ、FileSystemObject と呼ばれる ActiveX コンポーネントとその GetSpecialFolder メソッドを調べてみてください - http://msdn.microsoft.com/en-us/library/aa265315%28v=vs.60 %29.aspx

于 2012-05-18T19:58:49.877 に答える
1

この質問は非常に混乱していると思います。すべてのコンピューターが Windows であるとは限らないため、すべてのコンピューターに "Program Files" ディレクトリやドライブの概念さえあるわけではありません。

その上、HTML5 オフライン モードでは、マニフェスト ファイルをウェブ サーバーでホストする必要があります。ブラウザは、キャッシュされたデータを適切な場所に配置します。

ホストされていないページの内部展開について話していて、IE を直接生成したい場合、それは悪い考えだと思いますが、%ProgramFiles%環境変数を使用してください。

于 2012-05-18T20:01:03.380 に答える
1

私はWindowsを使用していませんが、次のようなことを試すことができるようです:

var WshShell = new ActiveXObject('WScript.Shell');
Response.write("ProgramFiles envioronment variable is set to:\n\n" + 
               WshShell.ExpandEnvironmentStrings('%ProgramFiles%'));

プログラム ファイルは環境変数で見つかるので、それが探しているものです。

よろしく、

PS: これにより、いくつかのセキュリティ警告が表示されます。実際、これは安全ではありません。

于 2012-05-18T20:04:53.590 に答える