Когда я выполняю код ниже в IE7/WinXP32, то вывод в консоли «undefined». Выходные изменения в ожидаемой «getContext()», когда я сделать либо двух модификаций:excanvas + Dojo: getContext не определен
- я удалить тег изображения.
- Я использую: < тело OnLoad = "рисовать()" >
Любая идея, что здесь происходит? Каким может быть обходной путь?
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Canvas</title>
<script type="text/javascript">
var djConfig = {parseOnLoad: false, isDebug: true};
</script>
<script type="text/javascript"
src="/development/javascript/dojo-release-1.4.3-src/dojo/dojo.js">
</script>
<!--[if IE]>
<script type="text/javascript" src="/javascript/excanvas_r73.js"></script>
<![endif]-->
<script type="text/javascript">
function draw() {
var canvas = dojo.byId("canvas");
console.log(canvas.getContext);
}
dojo.addOnLoad(draw);
</script>
</head>
<body>
<canvas id="canvas" width="100" height="100"></canvas>
<img src="nonexisting.gif">
</body>
</html>
Обновление: похоже на замену «dojo.addOnLoad (draw);» следующий код делает трюк.
function init() {
dojo.addOnLoad(draw);
}
if (dojo.isIE) {
dojo.connect('onload', init);
} else {
init();
}
Спасибо, что указали это! Инициализация проводника проводника запускает «onreadystatechange». – feklee