001_Three.js中的跨域問題


001_Three.js中的跨域問題

【情景描述】:

在初始化模型,引入字體和紋理皮膚圖片的時候,由於跨域問題,出現了以下提示:

Access to image at 'file:///F:/Users/Desktop/ThreeJS/LearnThreeJS/jay.jpg' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.

Failed to load resource: net::ERR_FAILED

【解決方法】:

這里不打算把資源放置在服務器。針對開發測試環境,提供一下兩種解決方式:

方法一:修改Three.js相關源碼

修改以下代碼:

方法二:設置瀏覽器跨域(推薦)

step1:關閉全部chrome窗口;

step2:提前創建chrome的桌面快捷方式后,右鍵快捷方式圖標---->屬性---->快捷方式---->目標---->:在末尾空格后添加:

  • --args --disable-web-security --user-data-dir=C:\MyChromeDevUserData

或者

  • --args --disable-web-security --user-data-dir

【一點說明 ---- 為什么會出現跨域?】

當請求的資源和請求腳本不在同一個域下將發生跨域

更多詳細,參見Link

這里有一個有待進一步考慮的問題,是load 加載器,加載的是本地的資源,為是跨域請求?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM