I'm trying to understand why the error in the title occurs in my script. I tried to match every bracket in sublime and it seems fine.

Here is the code

<script>

window.onload = function(){
var socket = io.connect("http://localhost:1337");
socket.on("drawn_complete",function(data){
    imgData = ctx.getImageData(data.width, data.height);
    for (var i = 0; i < data.raw.length) {
        imgData.data[i] = data.raw[i];
    }
ctx.putImageData(imgData, 0, 0);
});


var c = document.getElementById("myCanvas");
var moving = false;
console.log(c);
 var ctx = c.getContext("2d");
c.onmousedown = function(evt){
moving = true
};
c.onmousemove = function(evt){
    if(moving == true)
    {
        console.log("holding and moving");

        var x = evt.clientX - rect.left;
        var y = evt.clientY - rect.top;
        console.log("X: " + x + " Y: " + y);
        ctx.fillRect(x,y,1,1);
        canvasData = ctx.getImageData(0,0,200,100)
        myData = {
        height : canvasData.height,
        width : canvasData.width,
        raw : canvasData.data
};
socket.emit("drawing",{"image": myData});

    }
};
c.onmouseup = function(evt){
    moving = false;
};
};

</script>

Am I missing a ")" or a "}" ? Might this error be thrown in my nodejs? If so shouldn't my console which runs nodejs stop? The console doesn't log any error nor does it stop.

有帮助吗?

解决方案

for (var i = 0; i < data.raw.length) {

You're missing the increment part (i++) for this for loop.

其他提示

on line no 5:

for (var i = 0; i < data.raw.length; i++){
imgData.data[i] = data.raw[i];
}

you forgot to increment i++

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top