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 加載器,加載的是本地的資源,為是跨域請求?