1

HTMLドキュメントに次のようなハイパーリンクがあります

<a href="file://c:/directory/file.txt">click</a>

ハイパーリンクをクリックすると、指定したファイルがブラウザ自体で開きます。

そのファイルを、メモ帳、崇高なテキスト、またはファイル タイプのデフォルト プログラム (この場合は txt) である任意のテキスト エディターで開くことはできますか。javascriptまたはjqueryでプログラムで実行できますか。それを行う方法はありますか?

注: これは単なるスタンドアロン アプリケーションです。特定のソースディレクトリ内のすべてのファイルで、入力として指定したパターンを検索し、そのパターンを含むディレクトリ内のすべてのファイル名を出力するプラグインを開発しました。出力レポート html ファイルに出力されます。ファイル パス名をデフォルトのエディターにリンクして、編集して保存できるようにしたいだけです。セキュリティの問題はありません。それはできますか?

そうでない場合、このタスクを達成する他の方法はありますか? 出力レポートは任意の形式で生成できます。助けてください。

4

4 に答える 4

3

他の人が述べたように、ブラウザのセキュリティを損なうことなくこれを行うことはできない場合があります. しかし、私はあなたを助けるかもしれないリンクに出くわしました.

<script type="text/javascript" language="javascript">
    function RunFile() {
        WshShell = new ActiveXObject("WScript.Shell");
        WshShell.Run("c:/windows/system32/notepad.exe", 1, false);
    }
</script>

編集:これは空のメモ帳を開き、Windowsでのみ機能します。jsさまざまな OS を区別して、それに応じてデフォルトのテキスト エディターを実行することもできますが、私はその方法をとりません。代わりにオンライン エディターを使用してみませんか?

于 2013-07-02T14:55:44.620 に答える
2

セキュリティ上の理由により、HTML/JavaScriptローカル ファイル システムへのアクセスは許可されていません。

http://en.wikipedia.org/wiki/JavaScript#Security

JavaScript と DOM は、悪意のある作成者が Web 経由でクライアント コンピューター上で実行するスクリプトを配信する可能性を提供します。ブラウザーの作成者は、2 つの制限を使用してこのリスクを封じ込めます。まず、スクリプトは、ファイルの作成などの汎用プログラミング タスクではなく、Web 関連のアクションのみを実行できるサンドボックスで実行されます。第 2 に、スクリプトは同一オリジン ポリシーによって制約されます。ある Web サイトのスクリプトは、別のサイトに送信されたユーザー名、パスワード、Cookie などの情報にアクセスできません。

リソースを取得するには、サーバー リクエストを行う必要があります。

于 2013-07-02T14:53:11.150 に答える
1

ブラウザのセキュリティを損なうことなくこれを行うことはできません。ブラウザの TXT の MIME タイプと関連付けられているデフォルト プログラムを変更する必要があります。それがローカル ネットワーク上にあり、ドメイン上にいて、各ユーザーが自分のマシンの管理者権限を持っている場合、理論的には、レジストリをハッキングして、外部エディターでテキスト ファイルを開くための既定の設定を変更できますが、これはセキュリティを危険にさらします。また、ドメイン ネットワークにいる場合、ローカル マシンから管理者権限が剥奪される可能性があります。

于 2013-07-02T14:51:15.417 に答える