Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么不是';第二个浏览器是否正在更新我的图像的位置?_Javascript_Express_Socket.io_Mean Stack - Fatal编程技术网

Javascript 为什么不是';第二个浏览器是否正在更新我的图像的位置?

Javascript 为什么不是';第二个浏览器是否正在更新我的图像的位置?,javascript,express,socket.io,mean-stack,Javascript,Express,Socket.io,Mean Stack,我为一个班级项目做了一个跳棋游戏。我希望能够使用socket.io与其他人一起玩,但由于某些原因,图像无法在第二个浏览器上更新 server.js app.use(express.static(__dirname + "/static")); app.set("views", __dirname + "/views"); app.set("view engine", "ejs"); io.sockets.on('connection', function (socket) { console

我为一个班级项目做了一个跳棋游戏。我希望能够使用socket.io与其他人一起玩,但由于某些原因,图像无法在第二个浏览器上更新

server.js

app.use(express.static(__dirname + "/static"));
app.set("views", __dirname + "/views");
app.set("view engine", "ejs");

io.sockets.on('connection', function (socket) {
 console.log("Working now?");
 socket.broadcast.emit('update_position', lastPosition);
 socket.on('receive_position', function (data) {
 lastPosition = data;
 socket.broadcast.emit('update_position', data);
}); 
});
index.ejs

    <script>

    function allowDrop(ev) {
      ev.preventDefault();
    }

    function drag(ev) {
      ev.dataTransfer.setData("text", ev.target.id);
    }

    function drop(ev) {
      ev.preventDefault();
      var data = ev.dataTransfer.getData("text");
      ev.target.appendChild(document.getElementById(data));
    }
  </script>
</head>

<body>
  <script src="/socket.io/socket.io.js"></script>
  <script>
    $(document).ready(function () {
      var socket = io.connect();
      console.log("Hello");
      socket.on('update_position', function (data) {
        $(data.id).css('left', data.x);
        $(data.id).css('top', data.y);
        var x = data.x;
        var y = data.y;
        console.log(data);
        // jquery code to move div here
      });
      $(".drag").draggable().click(function () {
        var coord = $(this).offset();
        $("#left").val(coord.left);
        $("#top").val(coord.top);
        console.log(coord);
        socket.emit('receive_position', { x: coord.left, y: coord.top, id: 
  this.id });
      });
    });
  </script>

功能allowDrop(ev){
ev.preventDefault();
}
功能阻力(ev){
ev.dataTransfer.setData(“文本”,ev.target.id);
}
功能下降(ev){
ev.preventDefault();
var data=ev.dataTransfer.getData(“文本”);
ev.target.appendChild(document.getElementById(数据));
}
$(文档).ready(函数(){
var socket=io.connect();
console.log(“你好”);
socket.on('update_position',函数(数据){
$(data.id).css('left',data.x);
$(data.id).css('top',data.y);
var x=data.x;
var y=data.y;
控制台日志(数据);
//将div移到此处的jquery代码
});
$(“.drag”).draggable()。单击(函数(){
var coord=$(this.offset();
$(“#左”).val(左坐标);
$(“#top”).val(coord.top);
控制台日志(coord);
emit('receive_position',{x:coord.left,y:coord.top,id:
这是(id});
});
});
每当我点击并按住图像时,我也会收到此错误。然而,我最终能够移动图像并将其放置在板上

未捕获的TypeError:无法读取未定义的属性“setData”


您提供的所有代码都不包含
setData
。因此,不可能确定这导致问题的原因。对此表示抱歉。我更新了代码。