我一直致力于chartjs。 它在IE10中工作正常,但是当我将文档模式更改为IE8时,它会抛出以下错误
Object doesn't support property or method 'getContext' line.html, line 43 character 2
我尝试了所有建议的解决方案here
我包括了excanvas.js但没有运气。
您可以查看演示here,访问此页面并将文档模式更改为IE8。但是当我们将浏览器模式和文档模式更改为IE8时,parent site工作正常。请帮我解决这个问题
答案 0 :(得分:5)
在我的HTML中,我在标题中有这个
<!--[if lt IE 9]>
<script type="text/javascript" src="../shared/js/excanvas/r73/excanvas.js?v=${BUILD.TAG}"></script>
<![endif]-->
在我的HTML中,我有这个为我的身体
<!--[if lt IE 9]>
<body class="oldie">
<![endif]-->
<!--[if (gte IE 9)|!(IE)]>
<body>
<!--<![endif]-->
然后我像这样使用chart.js(使用jquery)
var isOldIE = $("body").hasClass("oldie");
var $canvas = this.$element.find("canvas");
var canvas = $canvas[0];
// kick old ie into creating fake canvas straight away
if(isOldIE) {
canvas = G_vmlCanvasManager.initElement(canvas);
}
var chartObj = new Chart(canvas.getContext("2d"));
// do your stuff eg
chartObj.Pie(CHARTJS_DATA, CHARTJS_CONFIG);