Wie kann ich das HTML5-Canvas-Element im IE verwenden?


74

Ich versuche, das HTML5-Canvas-Element zum Zeichnen einiger Bögen und Kreise zu verwenden - dies funktioniert perfekt in FF, aber IE8 scheint es nicht zu unterstützen.

Jetzt gibt es Javascript-Bibliotheken, mit denen IE8 gut mit Canvas funktioniert. Ein Beispiel finden Sie hier .

Ich habe ihre gesamte Quelle gelesen, kann aber nicht verstehen, wie Canvas mit IE8 funktioniert. Kann jemand bitte etwas Licht auf die verwendete Methode werfen?

Antworten:



8

Sie können fxCanvas ausprobieren: https://code.google.com/p/fxcanvas/

Es implementiert fast alle Canvas-APIs in Flash Shim.


1
Dies erhält meine Stimme aufgrund der abscheulichen Leistung von Excanvas. Die Bibliothek hat einige Probleme, aber in meinen realen Tests hat sie Flashcanvas in Bezug auf Leistung und Stabilität übertroffen.
Aaronaught

Gibt es eine neue Version davon? Die Verbindung ist unterbrochen
Colbs


2

Derzeit ist ExplorerCanvas die einzige Option, um HTML5-Canvas für IE6, 7 und 8 zu emulieren. Sie haben auch Recht mit der Leistung, die ziemlich schlecht ist.

Ich habe eine Partikelsimulation gefunden, die den Unterschied zwischen der echten HTML5-Canvas-Behandlung in Google Chrome, Safari und Firefox und ExplorerCanvas im IE misst. Die Ergebnisse zeigen, dass die wichtigsten Browser, die das Canvas-Tag unterstützen, etwa 20 bis 30 Mal schneller ausgeführt werden als das emulierte HTML5 in IE mit ExplorerCanvas.

Ich bezweifle, dass sich irgendjemand die Mühe machen wird, eine Alternative zu erstellen, weil 1) excanvas.js ungefähr so ​​sauber codiert ist wie es nur geht und 2) wenn IE9 veröffentlicht wird, alle gängigen Browser endlich das Canvas-Objekt unterstützen. Hoffentlich bekommen wir IE9 innerhalb eines Jahres

Eric @ www.webkrunk.com


Kann mir jemand sagen, was mit "langsam" gemeint ist? Meinen Sie damit, dass der Browser häufig nicht mehr reagiert, ähnlich wie beim Hängen, oder dauert das Laden der Seiten sehr lange, da jede Seite die excanvas.jsDatei laden muss, die ziemlich schwer ist (oder?)?
SexyBeast

excanvas.js ist nicht zu groß. Das Problem betrifft eher die mögliche maximale Framerate in Canvas-basierten Animationen.
Nichtigkeit

2

Wenn Sie IE8 verwenden müssen, können Sie diese JavaScript-Bibliothek für Vektorgrafiken ausprobieren. Es ist, als würde man gleichzeitig die Inkompatibilitäten "Canvas" und "SVG" von IE8 lösen.

Raphaël

Ich habe es gerade in einem schnellen Beispiel versucht und es funktioniert richtig. Ich weiß nicht, wie gut der Quellcode lesbar ist, aber ich hoffe, er hilft Ihnen. Wie auf der Website erwähnt, ist die Bibliothek mit sehr alten Entdeckern kompatibel.

Raphaël unterstützt derzeit Firefox 3.0+, Safari 3.0+, Chrome 5.0+, Opera 9.5+ und Internet Explorer 6.0+.


0

Ich habe gerade Flashcanvas verwendet und das hat funktioniert. Wenn Sie auf Probleme stoßen, lesen Sie einfach die Vorbehalte und so weiter. Insbesondere wenn Sie Canvas-Elemente dynamisch erstellen, müssen Sie sie explizit initialisieren:

if (typeof FlashCanvas != "undefined") {
    FlashCanvas.initElement(canvas);
}
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.