Javascript canvas.getContext(“2d”)不起作用
这是我的代码:Javascript canvas.getContext(“2d”)不起作用,javascript,firefox,canvas,Javascript,Firefox,Canvas,这是我的代码: <!DOCTYPE html> <html> <head> <link href="style.css" rel="stylesheet" type="text/css" /> <script type="text/javascript"> (function drawCanvas(){ var canv = document
<!DOCTYPE html>
<html>
<head>
<link href="style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
(function drawCanvas(){
var canv = document.getElementById('testcanvas1');
if(canv.getContext){
alert("test");
var context = doof.getContext('2d');
context.fillStyle = "rgb(255, 0, 255)";
context.fillRect(0, 0, canvas.width, canvas.height);
}
})();
</script>
</head>
<body>
<canvas id="testcanvas1"></canvas>
</body>
</html>
没有警报,因此我假设变量canv.getContext为false。为什么?一般来说,getContext'2d'不适用于我的Firefox34。如何使此功能正常工作?您正在加载文档之前执行代码。解决方案:
window.onload = function() {
(function drawCanvas(){
var canv = document.getElementById('testcanvas1');
if(canv.getContext){
alert("test");
var context = doof.getContext('2d');
context.fillStyle = "rgb(255, 0, 255)";
context.fillRect(0, 0, canvas.width, canvas.height);
}
})();
}
canv为空,因为testcanvas1尚未加载。因此,canv.getContext抛出一个错误。