0
正如標題所說,我已爲所有圖像啓用CORS,但在嘗試將它們放到畫布上並提取該畫布時Chrome仍然出現錯誤(Chrome和FF)。我跑了圖像的一個小嗅探器來測試它,它似乎是在事實上恢復正確的標題:CORS已啓用,但toDataURL仍然會發出警告
訪問控制允許來源:*
上午我遺漏了什麼?
正如標題所說,我已爲所有圖像啓用CORS,但在嘗試將它們放到畫布上並提取該畫布時Chrome仍然出現錯誤(Chrome和FF)。我跑了圖像的一個小嗅探器來測試它,它似乎是在事實上恢復正確的標題:CORS已啓用,但toDataURL仍然會發出警告
訪問控制允許來源:*
上午我遺漏了什麼?
您需要要求 CORS使用的服務器,只是這個屬性添加到圖像標籤:
<img crossOrigin="anonymous" ... />
從JavaScript
或動態,用它作爲屬性(假設img
創建或已經獲得) :
var img = new Image;
img.onload = callback;
img.crossOrigin = ''; /// = anonymous
img.src = '...';
如果你有多個圖片加載,你可以使用支持跨域請求(例如圖像裝載我YAIL loader在那裏你可以請求所有或使用CORS加載單個圖像)。
...你也指定圖像對象上的crossOrigin =「anonymous」屬性?如果是這樣,那不是問題,我們需要更多的代碼。 – markE
解決了問題,@ markE。謝謝。我也嘗試使用PaintbrushJS着色這些圖像,但現在它給了我「跨源資源共享策略拒絕跨源圖像加載」。任何想法? 編輯:它似乎可能是因爲我的所有圖像都通過JS動態加載。 – user1807782