Empfohlene Methode zur Fehlerbehandlung für canvas.toDataURL image/png

Empfohlene Methode zur Fehlerbehandlung für canvas.toDataURL image/png

Problemhintergrund:

Es ist erforderlich, einen Screenshot des abgespielten Videos zu erstellen. Das Video wird mithilfe des Video-Tags abgespielt und dann wird ein Echtzeit-Frame-Bild aufgenommen, wenn auf den Videowiedergabebereich geklickt wird.

Der Code ist ganz einfach und lautet wie folgt:

JavaScript CodeInhalt in die Zwischenablage kopieren
  1. var video = document.getElementById( 'video' );
  2.   
  3. var Leinwand = document.getElementById( 'Leinwand' );
  4.   
  5. var ctx = canvas.getContext( "2d" );
  6.   
  7. var img = document.getElementById( 'img' );
  8.   
  9. Funktion Schnappschuss() {
  10. ctx.drawImage(video,0,0);
  11. img.src = canvas.toDataURL( 'bild/png' );
  12. }
  13.   
  14. video.addEventListener( 'Klick' , Schnappschuss, falsch );

Fragen:

Nicht abgefangener Sicherheitsfehler: „toDataURL“ konnte für „HTMLCanvasElement“ nicht ausgeführt werden: Beschädigte Canvases können nicht exportiert werden.

Nach der Überprüfung und Analyse stellten wir fest, dass dies tatsächlich daran lag, dass sich die Domäne, in der sich die Videodatei befand, von der Domäne unterschied, in der sich das Bild und die Seite befanden, was zu einem domänenübergreifenden Übertragungsproblem führte.

Lösung:

Platzieren Sie die Videodatei unter der Domäne, in der sich die Seite befindet.

Ursprüngliche Adresse: http://blog.csdn.net/luochao_tj/article/details/44942125

<<:  Acht Hook-Funktionen in der Vue-Lebenszykluskamera

>>:  MySQL-Platzhalter (erweiterte SQL-Filterung)

Artikel empfehlen

Anwendungsszenarien und Lösungen für die MySQL-Komprimierung

Einführung Beschreibt die Anwendungsfälle und Lös...

Linux: Kein Speicherplatz mehr auf Gerät 500 – Fehler aufgrund voller Inodes

Was ist ein Inode? Um Inode zu verstehen, müssen ...

JavaScript zur Implementierung eines einfachen Einkaufsformulars

In diesem Artikel wird der spezifische JavaScript...

MySQL-Datenbankgrundlagen: Eine Zusammenfassung der grundlegenden Befehle

Inhaltsverzeichnis 1. Hilfeinformationen nutzen 2...

Umfassende Analyse des MySql-Master-Slave-Replikationsmechanismus

Inhaltsverzeichnis Master-Slave-Replikationsmecha...

Sie müssen wirklich die Verwendung von CSS-Variablen var() verstehen

Wenn ein Webprojekt immer größer wird, werden sei...

Tutorial zu HTML-Tabellen-Tags (12): Rahmenstil-Attribut FRAME

Verwenden Sie die FRAME-Eigenschaft, um den Stilt...

Ubuntu-Installation Matlab2020b, ausführliches Tutorial und Ressourcen

Inhaltsverzeichnis 1. Ressourcendateien 2. Instal...