由於跨來源資料污染而無法執行「getImageData()」:解決方案
當嘗試從使用getImageData() 方法存取畫布時,可能會出現“Uncaught SecurityError”,表示畫布已被跨來源資料污染。出現此錯誤的原因是畫布上渲染的圖像與嘗試存取它的腳本來自不同的網域。
要解決此問題並允許getImageData() 正常運行,您可以實現以下解決方案:
Set img.crossOrigin = "Anonymous":
確保適當的CORS 標頭:
託管跨來源影像的伺服器必須在其回應中設定以下標頭:
範例程式碼修改:
在您的程式碼中,修改圖片載入行以包含crossOrigin :
透過實作這些步驟,您可以防止跨域資料污染並成功利用getImageData() 從畫布中擷取像素資料。
以上是\'跨來源資料污染:如何修復畫布中的\'getImageData()\'安全錯誤\”的詳細內容。更多資訊請關注PHP中文網其他相關文章!