web-dev-qa-db-fra.com

Comment utiliser l'élément de toile HTML5 dans IE?

J'essaie d'utiliser l'élément de canevas HTML5 pour dessiner des arcs et des cercles - cela fonctionne parfaitement en FF mais IE8 ne semble pas le prendre en charge.

Il existe maintenant des bibliothèques Javascript qui semblent permettre à IE8 de bien fonctionner avec Canvas. n exemple peut être trouvé ici .

J'ai lu l'intégralité de leur source, mais je ne comprends pas comment ils font en sorte que Canvas fonctionne avec IE8. Quelqu'un peut-il s'il vous plaît jeter un peu de lumière sur la méthode utilisée?

75
Kshitij Saxena -KJ-

La page utilise excanvas - une bibliothèque JS qui simule l'élément de toile à l'aide du rendu VML d'IE.

Notez que dans Internet Explorer 9, la balise canvas est supportée de manière native ! Voir documentation MSDN pour plus de détails ...

94
Shog9

Vous pouvez essayer fxCanvas: https://code.google.com/p/fxcanvas/

Il implémente presque toutes les API Canvas dans Flash Shim.

8
buzzilo

Vous pouvez utiliser le plug-in nouvellement publié Chrome Frame pour IE, mais le site Web HTML 5 doit inclure la balise méta spéciale qui active le plug-in.

http://code.google.com/chrome/chromeframe/

Chrome Frame semble utiliser Explore Canvas (excanvas.js).

4

Si vous devez utiliser IE8, vous pouvez essayer cette bibliothèque JavaScript pour les graphiques vectoriels. C'est comme résoudre les incompatibilités "canvas" et "SVG" d'IE8 en même temps.

Raphaël

Je viens de l'essayer dans un exemple rapide et cela fonctionne correctement. Je ne sais pas à quel point le code source est lisible, mais j'espère que cela vous aidera. Comme ils l'ont dit sur son site, la bibliothèque est compatible avec les très vieux explorateurs.

Raphaël prend actuellement en charge Firefox 3.0+, Safari 3.0+, Chrome 5.0+, Opera 9.5+ et Internet Explorer 6.0+.).

2
Timbergus

Actuellement, ExplorerCanvas est la seule option pour émuler le canevas HTML5 pour IE6, 7 et 8. Vous avez également raison en ce qui concerne ses performances, qui sont plutôt médiocres.

J'ai trouvé une particule simulant simulant la différence entre le traitement réel des canevas HTML5 dans Google Chrome, Safari et Firefox et ExplorerCanvas dans IE. Les résultats montrent que les principaux navigateurs prenant en charge la balise canvas s'exécutent environ 20 à 30 fois plus rapidement que le HTML5 émulé dans IE avec ExplorerCanvas.

Je doute que quiconque essaiera de créer une alternative, car 1) excanvas.js est codé de manière aussi propre qu'il le devrait et 2) lorsque IE9 sera publié, tous les principaux navigateurs supporteront finalement l'objet canvas. Espérons que nous aurons IE9 d'ici un an

Eric @ www.webkrunk.com

2
Eric Rowell

Je viens d'utiliser flashcanvas , et cela fonctionne. Si vous rencontrez des problèmes, veillez simplement à lire les mises en garde et autres. En particulier, si vous créez des éléments de canevas de manière dynamique, vous devez les initialiser explicitement:

if (typeof FlashCanvas != "undefined") {
    FlashCanvas.initElement(canvas);
}
0
duma