書き換えられたタイトルは「ローカル ファイルのロード時に「クロスドメイン リクエストは HTTP のみをサポートします」というエラー メッセージが発生する」です。
P粉680487967
2023-08-21 14:43:40
<p><code>JSONLoader</code> を使用して、コンピューター上の Web サイト全体と同じディレクトリに保存されている 3D モデルを Three.js にロードしようとしています。 </p>
<p>エラー <code>「クロスオリジン リクエストは HTTP プロトコルのみをサポートしています」</code> が発生しましたが、原因や修正方法がわかりません。 </p>
念のため言っておきますが、はい、ブラウザ内で
を直接指定できないというエラーです。file://some/path/some.html
ここでは、ローカル Web サーバーをすばやく起動してブラウザにローカル ファイルをレンダリングさせるためのオプションをいくつか示します。
Python 2cd /path/to/your/folder を使用して、ファイル
some.html
または fileを含むフォルダーに移動します。
Python Webサーバーを開始します
で Web サーバーが起動し、ディレクトリ リスト全体をホストします
カスタム ポートを使用できますpython -m SimpleHTTPServer 9000- 、リンクは次のとおりです:
このメソッドは、Python インストールに組み込まれています。
http://localhost:9000
Python 3
同じ手順を実行しますが、次のコマンドを使用します:
python3 -m http.serverを使用している場合は、ローカル Web サーバー環境を提供する Live Server 拡張機能をインストールできます。 Node.js
または、より応答性の高いセットアップが必要で、すでに nodejs を使用している場合...
Install
http-server
と入力します。
を含む作業ディレクトリに切り替えます。
を発行して http サーバーを起動します。
これにより、ディレクトリ内のファイルをからアクセスできる静的ファイルとして提供する Node.js httpd が開始されます。
あなたの好みの言語が Ruby なら...Ruby の神様は、これもうまくいくと言っています:ルビー
リーリー
PHPリーリー
私の水晶玉は、
file://
またはC:/
を使用してモデルをロードしていることを示しています。これらはhttp: ではないため、エラー メッセージと一致します。 // /
したがって、ローカル マシンに Web サーバーをインストールするか、モデルを別の場所にアップロードし、
RFC-6454jsonp
を使用して URL をhttp://example.com/path/ to/ に変更します。モデル######
Origin はで定義されています リーリー したがって、ファイルが同じホスト (
localhost) からのものであっても、スキームが異なる限り (
http
/file
)、それらは異なるものとみなされます。 )の起源。