Который можно использовать так:

отал над гаджетом Windows (что означает «браузер» - это Internet Explorer), который запрашивает информацию в указанных адресах подсети. Теперь, это иногда делает это в относительно быстром темпе (примерно каждые 5 секунд), и это работает достаточно хорошо. Однако иногда он застревает в состоянии готовности 1 и просто останется там навсегда. Всякий раз, когда гаджет пытается повторить функцию для получения xmlhttprequest и получения от него информации, он остается в состоянии 1. Это легко реплицируется при открытии нескольких экземпляров гаджета и последующем закрытии всех, кроме одного из них. В этот момент тот, который еще открыт, почти всегда застревает в этом состоянии. Я чувствую, что это может иметь какое-то отношение к тому, что все они получают доступ к одному и тому же веб-сайту, или это может быть связано с тем, что xmlhttprequests останавливается в середине передачи и что мешает другому работать. Ниже приведен соответствующий код.

//Reference to this for the inner function
var me = this;
var request = new XMLHttpRequest();
request.onreadystatechange = onReadyStateChange;
var url = this.url;
//Make the URL random to prevent being cached
url += ("&a=" + ((new Date()).getTime()));
Trace(DEBUG_COMM, "Sase.updateStatus url: " + url);
request.open("GET", url, true);
request.send();   // fire off the request, calls httpRequestReadyStateChange as things continue
Trace(DEBUG_COMM, "Request sent" + request.readyState); 
function onReadyStateChange() {Trace(DEBUG_COMM, "Sase.httpRequestReadyStateChange: state=" + request.readyState);
    if (4 == request.readyState) {
        Trace(DEBUG_COMM, "Sase.httpRequestReadyStateChange: status=" + request.status);

        if (request.status == 200) {
            Trace(DEBUG_COMM, "retrieved html: " + request.responseText);
            var results = request.responseText;
            var resultsString = request.responseText.toString();
            Trace(DEBUG_COMM, "results String: " + resultsString);
            me.ParseStatusData(resultsString);
        }
        else {
            //me.commError(request.status);
        }

        request = null;
    }
}

Ответы на вопрос(2)

Ваш ответ на вопрос