mirror of
https://github.com/socketio/socket.io.git
synced 2026-04-30 03:00:39 -04:00
60 lines
1.3 KiB
JavaScript
60 lines
1.3 KiB
JavaScript
/**
|
|
* Socket.IO client
|
|
*
|
|
* @author Guillermo Rauch <guillermo@learnboost.com>
|
|
* @license The MIT license.
|
|
* @copyright Copyright (c) 2010 LearnBoost <dev@learnboost.com>
|
|
*/
|
|
|
|
(function(){
|
|
|
|
var _pageLoaded = false;
|
|
|
|
io.util = {
|
|
|
|
ios: false,
|
|
|
|
load: function(fn){
|
|
if (document.readyState == 'complete' || _pageLoaded) return fn();
|
|
if ('attachEvent' in window){
|
|
window.attachEvent('onload', fn);
|
|
} else {
|
|
window.addEventListener('load', fn, false);
|
|
}
|
|
},
|
|
|
|
inherit: function(ctor, superCtor){
|
|
// no support for `instanceof` for now
|
|
for (var i in superCtor.prototype){
|
|
ctor.prototype[i] = superCtor.prototype[i];
|
|
}
|
|
},
|
|
|
|
indexOf: function(arr, item, from){
|
|
for (var l = arr.length, i = (from < 0) ? Math.max(0, l + from) : from || 0; i < l; i++){
|
|
if (arr[i] === item) return i;
|
|
}
|
|
return -1;
|
|
},
|
|
|
|
isArray: function(obj){
|
|
return Object.prototype.toString.call(obj) === '[object Array]';
|
|
},
|
|
|
|
merge: function(target, additional){
|
|
for (var i in additional)
|
|
if (additional.hasOwnProperty(i))
|
|
target[i] = additional[i];
|
|
}
|
|
|
|
};
|
|
|
|
io.util.ios = /iphone|ipad/i.test(navigator.userAgent);
|
|
io.util.android = /android/i.test(navigator.userAgent);
|
|
io.util.opera = /opera/i.test(navigator.userAgent);
|
|
|
|
io.util.load(function(){
|
|
_pageLoaded = true;
|
|
});
|
|
|
|
})(); |