this.io = {};有什么作用?
“setPath:”是什么?
修改问题:
为什么不用window.io={};
我找不到WebSocketMain.swf文件
为什么放在jQuery.io下?
this.io = {
version: '0.6.1',
setPath: function(path){
if (window.console && console.error) console.error('io.setPath will be removed. Please set the variable WEB_SOCKET_SWF_LOCATION pointing to WebSocketMain.swf');
this.path = /\/$/.test(path) ? path : path + '/';
WEB_SOCKET_SWF_LOCATION = path + 'lib/vendor/web-socket-js/WebSocketMain.swf';
}
};
try {
if ('jQuery' in this)
jQuery.io = this.io;
} catch (e) {
try {
if ('django' in this && 'jQuery' in django)
django.jQuery.io = this.io;
} catch (e) {
}
}
if (typeof window != 'undefined'){
// WEB_SOCKET_SWF_LOCATION = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//cdn.socket.io/' + this.io.version + '/WebSocketMain.swf';
if (typeof WEB_SOCKET_SWF_LOCATION === 'undefined')
WEB_SOCKET_SWF_LOCATION = '/socket.io/lib/vendor/web-socket-js/WebSocketMain.swf';
}
这是JavaScript对象字面量(JavaScript Object Literal)。
这种方式可以直接创建对象,另一种方式通过类的实例化来创建对象。
setPath是对象的成员,后面有function,所以是方法成员,version就是属性成员。
window对象一般仅在浏览器环境有效,非浏览器环境像nodejs之类就没有。
缺少WebSocketMain.swf可能是一些组件没装吧
放在jQuery.io可能是方便调用,$.io就可以了,更简洁吧。