, XmlHTTPRequest -, , , ( , navigator.onLine). , - Ajax (, Prototype). 10 (10 000 ) onFailure.
var xhr = {
errorCode: 'timeout',
callInProgress: function (xmlhttp) {
switch (xmlhttp.readyState) {
case 1: case 2: case 3:
return true;
default:
return false;
}
}
};
Ajax.Responders.register({
onCreate: function (request) {
request.timeoutId = window.setTimeout(function () {
if (xhr.callInProgress(request.transport)) {
var parameters = request.options.parameters;
request.transport.abort();
if (request.options.onFailure) {
request.options.onFailure(request.transport, xhr.errorCode, parameters);
}
}
},
10000);
},
onComplete: function (request) {
window.clearTimeout(request.timeoutId);
}
});