Die Lösung von html2canvas, dass Bilder nicht normal erfasst werden können

Die Lösung von html2canvas, dass Bilder nicht normal erfasst werden können

Frage

Lassen Sie mich zunächst über das Problem sprechen, auf das ich gestoßen bin. Erstens: Es besteht eine solche Nachfrage. Das Front-End muss basierend auf den vom Back-End gesendeten Daten dynamisch Bilder generieren. Der Text, das Hintergrundbild und der Benutzeravatar im Bild werden alle über die Backend-Schnittstelle bezogen. Allerdings wurden mithilfe der von html2canvas generierten Leinwand einige Bilder erfolgreich in der Leinwand generiert. Manche Bilder können jedoch auf jeden Fall nicht angezeigt werden.

Offizielle Dokumentation

Ich habe lange erfolglos an dem Projekt gearbeitet und lange erfolglos bei Google gesucht. In diesem Moment herrschte eine leichte Verzweiflung. Plötzlich kam mir die Idee, warum nicht auf die offizielle Website gehen. Also, ich habe den folgenden Inhalt auf der offiziellen Website gesehen.

Einschränkungen<br/>
Alle Bilder, die das Skript verwendet, müssen sich am gleichen Ursprung befinden, damit es sie ohne die Hilfe eines Proxys lesen kann. Wenn Sie auf der Seite andere Canvas-Elemente haben, die mit Cross-Origin-Inhalten verunreinigt sind, werden diese ebenfalls verunreinigt und sind für html2canvas nicht mehr lesbar.<br/>
Das Skript rendert keine Plugin-Inhalte wie Flash- oder Java-Applets.

Worum geht es? Hier ist eine Übersetzung für diejenigen, die nicht gut Englisch sprechen. Wer gut Englisch kann, kann den obigen Text direkt lesen. Die allgemeine Bedeutung besteht darin, dass in html2canvas Skripte zum Bedienen verwendet werden, dh Skripte zum Konvertieren von HTML in Canvas, es gibt jedoch eine Einschränkung, nämlich, dass keine quellenübergreifenden Bilder verwendet werden können. Bei Verwendung liest html2canvas die Ressource nicht.

Aus diesem Grund sind einige Bilder auf der konvertierten Leinwand immer leer. Wenn es auf der Seite andere Canvases gibt, die ebenfalls Cross-Origin-Bildressourcen verwenden, werden diese von html2canvas nicht gelesen.

Lösung

Leiten Sie die statischen Ressourcen einfach einmal weiter und ermöglichen Sie das Laden von Cross-Origin-Ressourcen in der html2canvas-Konfiguration.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

<<:  Docker verwendet ein einzelnes Image zum Zuordnen zu mehreren Ports

>>:  Unbekannte Verwendung von Object.entries in JavaScript

Artikel empfehlen

Detaillierte Erklärung der MySQL-Berechtigungen und -Indizes

MySQL-Berechtigungen und Indizes Der höchste Benu...

HTML-Auszeichnungssprache - Tabellen-Tag

Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...

Drei Möglichkeiten zur Kommunikation zwischen Docker-Containern

Wir alle wissen, dass Docker-Container voneinande...

Installieren Sie Python 3.6 unter Linux und vermeiden Sie Fallstricke

Installation von Python 3 1. Abhängige Umgebung i...

So führen Sie geplante PHP-Aufgaben in CentOS7 aus

Vorwort Dieser Artikel stellt hauptsächlich den r...

Detaillierte Erläuterung des Vuex-Gesamtfalls

Inhaltsverzeichnis 1. Einleitung 2. Vorteile 3. N...

4 Scan-Tools für den Linux-Desktop

Obwohl die papierlose Welt noch nicht angebrochen...

Detaillierte Erklärung des virtuellen DOM und des Diff-Algorithmus in React

Die Rolle des virtuellen DOM Zunächst müssen wir ...

Lösung für mobile Browser, die die Position nicht unterstützen: Fix

Die konkrete Methode ist wie folgt: CSS Code Code...

Zusammenfassung der verschiedenen Verwendungsmöglichkeiten von JSON.stringify

Vorwort Jeder, der schon einmal JSON verwendet ha...

Javascript zum Umschalten durch Klicken auf das Bild

Durch Klicken Bilder zu wechseln, ist im Leben ei...

Schritte zum Upgrade des Ubuntu 16.04-Kernels

1. Umwelt Ubuntu 16.04 läuft auf einer virtuellen...