www w3schools w3school used people page most many internet how browsers asp javascript canvas internet-explorer-9

javascript - w3schools - ¿Por qué mi IE9 no es compatible con lienzo?



w3schools web page size (6)

Dos cosas:

La etiqueta <canvas> debe tener una etiqueta de cierre correspondiente </canvas> . Mientras que algunos navegadores te permitirán salir con solo una etiqueta de apertura, otros (como Firefox y quizás IE) no lo harán.

Además, IE9 requiere que declare un doctype HTML5 para usar la etiqueta canvas. Puede hacer esto colocando <!DOCTYPE html> en la parte superior de su código.

DiveIntoHTML5 Canvas afirma que IE9 admite lienzo.

Sin embargo, cuando intenté hacer canvas en IE9, no funciona:

El objeto no admite la propiedad o el método ''getContext''

Estoy usando IE9.0.8112.16421:

Este es el código:

<html> <head> </head> <body style="background:black;margin:0;padding:0;"> <canvas id="canvas" style="background:white;width:100%;height:100%;">noob</canvas> <script> var img=new Image(); img.onload=function(){ var c=document.getElementById(''canvas''); var ctx = c.getContext(''2d''); var left,top; left=top=0; ctx.drawImage(img,left,top,20,20); var f=function(){ left+=1; top+=1; c.width=c.width; ctx.drawImage(img,left,top,20,20); }; setInterval(f,20); }; img.src="http://a.wearehugh.com/dih5/aoc-h.png"; </script> </body> </html>


Ejecutando IE 9.0.8112.16421. El elemento Canvas no funcionará inicialmente, pero si presiono F12 para que aparezca devtools, luego lo actualizo, comienza a funcionar. La actualización normal sin la ventana devtools abierta no funcionará. Puede ser un problema de inicio de JS dado que el lienzo estaba funcionando antes de mover el código de dibujo lienzo a su propio archivo .js. Funciona bien en Chrome / Firefox / Safari.


Si IE9 se está ejecutando en modo de compatibilidad, la etiqueta canvas no será reconocida, incluso si está utilizando la etiqueta HTML5 DOCTYPE. Al menos esa ha sido mi experiencia.

Compruebe si IE9 se está ejecutando en modo de compatibilidad, que puede ser el caso si el sitio está en una intranet.



cuando utilice IE10 en la vista de compatibilidad, compruebe la versión de compatibilidad de IE. Ingrese F12 (abra las Herramientas del desarrollador) y verifique la versión de IE apropiada (por ejemplo IE9) que necesita prueba y el navegador funcionará correctamente bajo esta versión.


<!DOCTYPE html> debe ser lo primero en su página. Tenía un script antes de la etiqueta y me seguía dando el mismo error. Esto solo ocurre en IE9, Chrome y Firefox funcionan incluso con una secuencia de comandos antes de la etiqueta doctype.