14

ここと同じ質問ですが、FirefoxのローカルURLに移動する必要があります

私は次のようなコードで試しました

var url = "file:///E:/Test/Test.htm";
window.location.href = url;

しかし、idは機能しませんでした。(トリプル「/」の代わりにダブル「/」)を試してみましたが、それでも機能しませwindow.location = url;ん。url = "file://E:/Test/Test.htm";

ありがとう

4

5 に答える 5

16

これを試すと:

window.location.href = "file:///C:/Users/Cerbrus/Documents/SomeFile.js"

(はい、有効なパスです。)

Chrome から次のエラーがスローされます。

ローカル リソースの読み込みが許可されていません: file:///C:/Users//Documents/File.js

これは、JavaScript がローカルファイルにアクセスできず (サンドボックス化されているため)、JavaScript で新しい URL を設定しているためです。
「SandBoxed」とは、テクノロジーが特定の範囲外へのアクセスを制限されている (または許可されていない) ことを意味します。ブラウザーの場合、これは、ページ上で実行されるコードがシステム上のファイルにアクセスできないことを意味します (そうでない場合、ユーザーのファイル システムを調べるだけで、データを簡単に「盗む」ことができます)。

しかし

たとえば、次の 2 つのファイルがあります。

C:/Test/Test.htm
C:/Test/Test1.htm

Test.htmこれだけが含まれています:

<script>
    window.location = "file:///C:/Test/Test1.htm";
</script>

Test1.htmターゲット ファイルはソース ファイルと同じドメインにあるため、実際には にリダイレクトされます。

于 2012-12-27T09:42:39.180 に答える
5

javascriptからローカルリソースをロードすることは許可されていないと思います

ローカルhttpサーバーを実行していない場合:

var url = "http://localhost/MySite/Default.aspx";
window.location.href = url;

それが動作します

于 2012-12-27T09:40:19.883 に答える
1

ローカルシステムからファイルにアクセスすることはできません。ブラウザはサンドボックスモードで動作し、セキュリティに違反するため、サンドボックスを破ってローカルファイルシステムにアクセスすることはできません。AJAXリクエストを使用して直接ロードしようとすると、サンドボックスの制限のために実行しようとしていることが不可能になり、セキュリティポリシーに準拠しなくなります。

于 2012-12-27T09:41:33.253 に答える
-5
window.open(url); // here url can be anything
于 2012-12-27T09:41:41.440 に答える