'getImageData()' kann aufgrund Cross-Origin-Data-Tainting nicht ausgeführt werden: Eine Lösung
Beim Versuch, Pixeldaten von einem abzurufen Canvas mit der Methode getImageData() verwenden, kann ein „Uncaught SecurityError“ auftreten, der darauf hinweist, dass die Canvas durch ursprungsübergreifende Daten beeinträchtigt wurde. Dieser Fehler tritt auf, weil das auf der Leinwand gerenderte Bild aus einer anderen Domäne stammt als das Skript, das versucht, darauf zuzugreifen.
Um dieses Problem zu beheben und sicherzustellen, dass getImageData() ordnungsgemäß funktioniert, können Sie die folgende Lösung implementieren:
Setze img.crossOrigin = "Anonymous":
Stellen Sie geeignete CORS-Header sicher:
Die Der Server, der das Cross-Origin-Image hostet, muss in seiner Antwort den folgenden Header festlegen:
Beispielcode-Änderung:
Ändern Sie in Ihrem Code die Bildladezeile so, dass sie crossOrigin enthält:
Durch die Implementierung dieser Schritte können Sie ursprungsübergreifende Datenverfälschungen verhindern und getImageData() erfolgreich verwenden, um Pixeldaten aus der Leinwand abzurufen.
Das obige ist der detaillierte Inhalt von„Cross-Origin Data Tainting: So beheben Sie den Sicherheitsfehler „getImageData()' in Ihrem Canvas'. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!