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

Installations-Tutorial für die komprimierte Version von MySQL 5.7.18 Archiv

In diesem Artikel wird die spezifische Methode zu...

CSS erzielt den „Bottom Absorption“-Effekt im Footer

Wir stoßen häufig auf dieses Problem: Wie kann ma...

Detaillierte Verwendung des Vue-Timers

In diesem Artikelbeispiel wird der spezifische Co...

Beispiel für einen Vue-Übergang zum Erreichen eines Animationseffekts

Inhaltsverzeichnis Ergebnisse auf einen Blick Her...

JS versteht die Zeitzonen GMT und UTC genau

Inhaltsverzeichnis Vorwort 1. GMT Was ist GMT Ges...

Beispiel zum Hochladen eines Docker-Images in ein privates Repository

Das Image kann problemlos direkt in das öffentlic...

So führen Sie eine reibungslose if-Beurteilung in js durch

Inhaltsverzeichnis Vorwort Code-Implementierung I...

Eine Kurzanleitung zu Docker

Docker bietet eine Möglichkeit, Software automati...

Fehler bei der Eingabe chinesischer Zeichen im Flex-Programm Firefox

In niedrigeren Versionen von Firefox können keine ...

Fallstudie zur Übermittlung von HTML-Formularen

Um die Methode zur Formularübermittlung zusammenz...

Beispiele für die Verwendung von React Ref

Inhaltsverzeichnis Was ist ref So verwenden Sie r...