Javascript IE8说';对象没有';不支持此属性或方法';关于Date.now()
很抱歉粘贴了这么多代码,这可能有助于突出问题:Javascript IE8说';对象没有';不支持此属性或方法';关于Date.now(),javascript,internet-explorer-8,stomp,Javascript,Internet Explorer 8,Stomp,很抱歉粘贴了这么多代码,这可能有助于突出问题: Client.prototype.connect = function (login, passcode, connectCallback, errorCallback, vhost) { var _this = this; this.connectCallback = connectCallback; if (typeof this.debug === "function") {
Client.prototype.connect = function (login, passcode, connectCallback, errorCallback, vhost) {
var _this = this;
this.connectCallback = connectCallback;
if (typeof this.debug === "function") {
this.debug("Opening Web Socket...");
}
this.ws.onmessage = function (evt) {
var arr, c, data, frame, onreceive, _i, _len, _ref, _results;
data = typeof ArrayBuffer !== 'undefined' && evt.data instanceof ArrayBuffer ? (arr = new Uint8Array(evt.data), typeof _this.debug === "function" ? _this.debug("--- got data length: " + arr.length) : void 0, ((function () {
var _i, _len, _results;
_results = [];
for (_i = 0, _len = arr.length; _i < _len; _i++) {
c = arr[_i];
_results.push(String.fromCharCode(c));
}
return _results;
})()).join('')) : evt.data;
_this.serverActivity = Date.now();
if (data === Byte.LF) {
if (typeof _this.debug === "function") {
_this.debug("<<< PONG");
}
return;
}
if (typeof _this.debug === "function") {
_this.debug("<<< " + data);
}
_ref = Frame.unmarshall(data);
_results = [];
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
frame = _ref[_i];
switch (frame.command) {
case "CONNECTED":
if (typeof _this.debug === "function") {
_this.debug("connected to server " + frame.headers.server);
}
_this.connected = true;
_this._setupHeartbeat(frame.headers);
_results.push(typeof _this.connectCallback === "function" ? _this.connectCallback(frame) : void 0);
break;
case "MESSAGE":
onreceive = _this.subscriptions[frame.headers.subscription];
_results.push(typeof onreceive === "function" ? onreceive(frame) : void 0);
break;
case "RECEIPT":
_results.push(typeof _this.onreceipt === "function" ? _this.onreceipt(frame) : void 0);
break;
case "ERROR":
_results.push(typeof errorCallback === "function" ? errorCallback(frame) : void 0);
break;
default:
_results.push(typeof _this.debug === "function" ? _this.debug("Unhandled frame: " + frame) : void 0);
}
}
return _results;
};
this.ws.onclose = function () {
var msg;
msg = "Whoops! Lost connection to " + _this.ws.url;
if (typeof _this.debug === "function") {
_this.debug(msg);
}
_this._cleanUp();
return typeof errorCallback === "function" ? errorCallback(msg) : void 0;
};
return this.ws.onopen = function () {
var headers;
if (typeof _this.debug === "function") {
_this.debug('Web Socket Opened...');
}
headers = {
"accept-version": Stomp.VERSIONS.supportedVersions(),
"heart-beat": [_this.heartbeat.outgoing, _this.heartbeat.incoming].join(',')
};
if (vhost) {
headers.host = vhost;
}
if (login) {
headers.login = login;
}
if (passcode) {
headers.passcode = passcode;
}
return _this._transmit("CONNECT", headers);
};
}
Client.prototype.connect=函数(登录、密码、连接回调、错误回调、vhost){
var_this=这个;
this.connectCallback=connectCallback;
if(typeof this.debug==“函数”){
调试(“打开Web套接字…”);
}
this.ws.onmessage=函数(evt){
变量arr、c、数据、帧、onreceive、\u i、\u len、\u ref、\u results;
data=typeof ArrayBuffer!='undefined'&&evt.data instanceof ArrayBuffer?(arr=new Uint8Array(evt.data),typeof _this.debug===“function”?\u this.debug(---获得的数据长度:“+arr.length”):void 0,((函数(){
变量i,len,结果;
_结果=[];
对于(_i=0,_len=arr.length;_i<_len;_i++){
c=arr[_i];
_结果.push(String.fromCharCode(c));
}
返回结果;
})()).join(“”)):evt.data;
_this.serverActivity=Date.now();
如果(数据===字节.LF){
if(typeof _this.debug==“函数”){
_这个.debug(“IE8没有,它是在ES5中添加的(因此,相对较新)。您可以添加它:
if (!Date.now) {
Date.now = function() {
return +new Date();
};
}
IE8没有,这是在ES5中添加的(因此,相对较新)。您可以添加它:
if (!Date.now) {
Date.now = function() {
return +new Date();
};
}