Heim  >  Artikel  >  Web-Frontend  >  canvas.toDataURL image/png Empfohlene Fehlerbehandlungsmethoden

canvas.toDataURL image/png Empfohlene Fehlerbehandlungsmethoden

高洛峰
高洛峰Original
2017-02-22 11:20:241790Durchsuche

Problemhintergrund:

Es ist eine Anforderung aufgetreten, Screenshots des abgespielten Videos zu machen. Das Video wird mit dem Video-Tag abgespielt und dann wird das Echtzeitbild erfasst, wenn auf den Videowiedergabebereich geklickt wird.

Der Code ist sehr einfach wie folgt:

var video = document.getElementById('video');   
  
var canvas = document.getElementById('canvas');   
  
var ctx = canvas.getContext('2d');   
  
var img = document.getElementById('img');   
  
function snapshot() {   
   ctx.drawImage(video,0,0);   
   img.src =  canvas.toDataURL('image/png');   
}   
  
video.addEventListener('click', snapshot, false);

Problemtipp:

Uncaught SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted Canvases may not exportiert werden.

Nach Überprüfung und Analyse wurde festgestellt, dass dies tatsächlich daran liegt, dass sich die Domäne, in der sich die Videodatei befindet, von der Domäne unterscheidet, in der sich das Bild und die Seite befinden, was zu einem Problem bei der domänenübergreifenden Übertragung.

Lösung:

Fügen Sie die Videodatei unter der Domain der Seite ein.

Weitere Informationen zu canvas.toDataURL image/png und empfohlenen Fehlerbehandlungsmethoden finden Sie auf der chinesischen PHP-Website für verwandte Artikel!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn