84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
我正在嘗試使用JSONLoader將儲存在我的電腦上的3D模型載入到Three.js中,而這個3D模型與整個網站位於同一個目錄中。
JSONLoader
我遇到了"跨域請求僅支援HTTP協定"的錯誤,但我不知道是什麼原因導致的,也不知道如何修復它。
"跨域請求僅支援HTTP協定"
明確一點 - 是的,錯誤是說您不能直接在瀏覽器中指向file://some/path/some.html
file://some/path/some.html
以下是一些快速啟動本機網頁伺服器以讓您的瀏覽器呈現本機檔案的選項
如果您已經安裝了Python...
使用指令cd /path/to/your/folder進入包含您的檔案some.html或檔案的資料夾
cd /path/to/your/folder
some.html
使用指令python -m SimpleHTTPServer啟動Python Web伺服器
python -m SimpleHTTPServer
這將在http://localhost:8000上啟動一個Web伺服器來託管您的整個目錄清單
http://localhost:8000
python -m SimpleHTTPServer 9000
http://localhost:9000
這種方法已內建在任何Python安裝中。
執行相同的步驟,但使用以下命令:python3 -m http.server
python3 -m http.server
如果您使用的是Visual Studio Code,您可以安裝Live Server擴展,該擴展提供了一個本機Web伺服器環境。
或者,如果您需要一個更靈敏的設定並且已經使用nodejs...
透過輸入npm install -g http-server#安裝http-server
npm install -g http-server
http-server
切換到包含some.html的工作目錄
透過發出http-server -c-1啟動您的http伺服器
http-server -c-1
這將啟動一個Node.js httpd,將您目錄中的檔案作為靜態檔案提供,可以從http://localhost:8080存取
http://localhost:8080
如果您的首選語言是Ruby ... Ruby之神說這也可以:
ruby -run -e httpd . -p 8080
當然,PHP也有解決方案。
php -S localhost:8000
我的水晶球告訴我,你正在使用file://或C:/載入模型,這符合錯誤訊息,因為它們不是http:/ /
file://
C:/
http:/ /
所以你可以在本機上安裝一個Web伺服器,或是將模型上傳到其他地方,並使用jsonp並將URL改為http://example.com/path/ to/model
jsonp
http://example.com/path/ to/model
在RFC-6454中定義了起源
...它们具有相同的 方案、主机和端口。(有关详细信息,请参见第4节。)
所以即使你的檔案來自相同的主機(localhost),但只要方案不同(http/file),它們被視為不同的起源。
localhost
http
file
明確一點 - 是的,錯誤是說您不能直接在瀏覽器中指向
file://some/path/some.html
以下是一些快速啟動本機網頁伺服器以讓您的瀏覽器呈現本機檔案的選項
Python 2
如果您已經安裝了Python...
使用指令
cd /path/to/your/folder
進入包含您的檔案some.html
或檔案的資料夾使用指令
python -m SimpleHTTPServer
啟動Python Web伺服器這將在
http://localhost:8000
上啟動一個Web伺服器來託管您的整個目錄清單python -m SimpleHTTPServer 9000
,連結為:http://localhost:9000
這種方法已內建在任何Python安裝中。
Python 3
執行相同的步驟,但使用以下命令:
python3 -m http.server
#VSCode
如果您使用的是Visual Studio Code,您可以安裝Live Server擴展,該擴展提供了一個本機Web伺服器環境。
Node.js
或者,如果您需要一個更靈敏的設定並且已經使用nodejs...
透過輸入
npm install -g http-server
#安裝http-server
切換到包含
some.html
的工作目錄透過發出
http-server -c-1
啟動您的http伺服器這將啟動一個Node.js httpd,將您目錄中的檔案作為靜態檔案提供,可以從
http://localhost:8080
存取Ruby
如果您的首選語言是Ruby ... Ruby之神說這也可以:
PHP
當然,PHP也有解決方案。
我的水晶球告訴我,你正在使用
file://
或C:/
載入模型,這符合錯誤訊息,因為它們不是http:/ /
所以你可以在本機上安裝一個Web伺服器,或是將模型上傳到其他地方,並使用
jsonp
並將URL改為http://example.com/path/ to/model
在RFC-6454中定義了起源
所以即使你的檔案來自相同的主機(
localhost
),但只要方案不同(http
/file
),它們被視為不同的起源。