Jquery和Socket.io冲突

Jquery和Socket.io冲突,jquery,socket.io,conflict,impactjs,Jquery,Socket.io,Conflict,Impactjs,我正在尝试使用ImpactJS,一个JS框架。 我想添加socket.io函数。 我一添加socket.io就出现了一个错误 Uncaught ReferenceError: sock is not defined jquery-1.7.1.min.js:4 我使用soket.io的类:(文件末尾) My index.html: 我不明白为什么我不能两者都用。 谢谢您的帮助。索引行35 var sock = io.connect('http://localhost:3000'); 第134行

我正在尝试使用ImpactJS,一个JS框架。 我想添加socket.io函数。 我一添加socket.io就出现了一个错误

Uncaught ReferenceError: sock is not defined jquery-1.7.1.min.js:4
我使用soket.io的类:(文件末尾)

My index.html:

我不明白为什么我不能两者都用。 谢谢您的帮助。

索引行35

var sock = io.connect('http://localhost:3000');
第134行

sock.emit('update', this.padmap, this.id);
sock不在窗口范围内,因此这将不起作用。将
var sock
更改为
window.sock
sock.emit
更改为
window.sock.emit

然而,不赞成使用全局变量。如果您使用的是全局变量,那么您就做错了。

我发现了问题所在。 套接字在index.html中加载,而不是在Player.js中加载

地图编辑器无法加载套接字。 要在Player.js中解决此问题,请执行以下操作:

if (typeof sock != 'undefined')
sock.emit('update', this.padmap, this.id);

我理解,但在更改后,我有其他错误消息:未捕获的语法错误:意外标记。localhost/:35未捕获类型错误:无法读取未定义播放器的属性“emit”。js:52未定义我的新文件:Player.js:index.html:window.sock。找出window.sock未定义的原因。也不要像我说的那样使用窗户。您不应该使用全局变量。