Проблема с получением исключений для использования getContext в IE8
Я пытаюсь реализовать excanvas, чтобы гарантировать, что теги canvas работают в IE8, а также во всех других браузерах, которые мы здесь используем. У меня проблема с получением getContext для работы в IE8. Я читал о необходимости использования процедуры G_vmlCanvasManager.initElement при динамическом создании объектов холста в DOM, однако я даже не могу заставить статически созданные объекты работать в IE8. Я могу сказать, что холст создан правильно, потому что появляется граница. Все остальные браузеры не имеют проблем. Вот код:
<div align="right">
<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">
Your browser does not support the canvas element.
</canvas>
<script type="text/javascript">
var c=document.getElementById("myCanvas");
if (typeof window.G_vmlCanvasManager!="undefined") {
c=window.G_vmlCanvasManager.initElement(c);
var cxt=c.getContext("2d");
}else
var cxt=c.getContext("2d");
cxt.fillStyle="#FF0000";
cxt.fillRect(0,0,150,75);
</script>
</div>
Спасибо за любую помощь, которую вы можете оказать.
2 ответа
window.onload или onLoad="drawSomething()" должны работать, тоже самое
<head>
<!--[if lt IE 9]>
<script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<script type="text/javascript" src="/assets/site/excanvas.min.js"></script>
<![endif]-->
</head>
<figure id="logo" class="body">
<canvas id="logo-canvas" width="490" height="135"></canvas>
<script src="canvas.js" type="text/javascript"></script>
<script type="text/javascript">
window.onload = function() {
var c=document.getElementById("logo-canvas");
var cxt=c.getContext("2d");
drawLogo( cxt );
}
</script>
</figure><!-- /#logo -->';
Нашел работу вокруг. Поместите код в заголовок с помощью триггера загрузки и теперь он работает нормально