XMLHttpRequest-Erweiterungen in Internet Explorer 8

Neu für Windows Internet Explorer 8

Internet Explorer 8 ermöglicht eine umfassendere Steuerung der asynchronen JavaScript- und XML-Anforderungen (AJAX). Insbesondere haben die Entwickler jetzt die Möglichkeit, ein Timeout für das XMLHttpRequest-Objekt anzugeben, das in Verbindung mit der in Internet Explorer 8 möglichen höheren Anzahl gleichzeitiger Verbindungen Verzögerungen in AJAX-Anwendungen verhindern kann. Außerdem wurde ein Ereignishandler für Timeouts hinzugefügt.

In diesem Thema sind die folgenden Abschnitte enthalten.

  • Objekt "XMLHttpRequest"
  • Eigenschaft "timeout"
  • Ereignishandler "ontimeout"
  • Verwandte Themen

Objekt "XMLHttpRequest"

Das Objekt "XMLHttpRequest" ist ein Datentransportobjekt, das den Kern von AJAX darstellt. "XMLHttpRequest" wurde im Jahre 2000 hauptsächlich eingeführt, um es Microsoft Outlook Web Access zu ermöglichen, E-Mails ohne Benachrichtigung anzuzeigen. Inzwischen sind AJAX-Anwendungen für die Möglichkeit beliebt, Daten mit einem Server asynchron auszutauschen, um diese Daten dann ohne erneutes Laden der Webseite anzuzeigen, auf der die Daten angezeigt werden.

Nach zunehmender Beliebtheit von AJAX hat die Übernahme von "XMLHttpRequest" die ursprünglichen Erwartungen erheblich übertroffen. Gleichzeitig ist der funktionale Entwurf unverändert geblieben. In der Bestrebung "XMLHttpRequest" zu modernisieren und die Zuverlässigkeit für AJAX-intensive Anwendungen von heute zu erhöhen, führt Internet Explorer 8 neue Funktionen für "XMLHttpRequest" ein.

Eigenschaft "timeout"

"XMLHttpRequest" wurde in Internet Explorer 7 zu einem systemeigenen Objekt und in Internet Explorer 8 erhält es die Eigenschaft timeout (möglicherweise in englischer Sprache). Mithilfe der Eigenschaft "timeout" können Webentwickler in Millisekunden angeben, wie lange der Host auf eine Antwort warten muss, bevor das Zeitlimit der Verbindung überschritten ist.

Das bietet verschiedene Vorteile. Da es eine beschränkte Anzahl von Verbindungen gibt, die gleichzeitig zwischen dem Hostprozess und dem Server hergestellt sein können, ermöglicht dem Hostprozess die Angabe eines Timeouts, eine neue Anfrage früher zu öffnen, anstatt auf eine nicht reagierende Verbindung zu warten. Dies ist insbesondere für Benutzer in Schmalbandszenarios relevant, z. B. für Benutzer von DFÜ-Modems, und kann zu besseren Leistungen und weniger Verzögerungen führen. Weitere Informationen zur Konnektivität und Internet Explorer 8 finden Sie unter Konnektivitätserweiterungen in Internet Explorer 8 (möglicherweise in englischer Sprache).

Der nachfolgende kurze Beispielcode veranschaulicht, wie die Eigenschaft "timeout" verwendet wird. In diesem Fall wurden für "timeout" 10.000 Millisekunden (10 Sekunden) festgelegt.

var xhr;
xhr = new XMLHttpRequest();
xhr.open("GET", "http://myurl.php", true);
xhr.timeout = 10000;

Ereignishandler "ontimeout"

Verwenden Sie den Ereignishandler ontimeout (möglicherweise in englischer Sprache), um Ihre Anwendung anzuweisen, wie beim Auftreten von "timeout" zu verfahren ist.

Der nachfolgende kurze Beispielcode veranschaulicht, wie der Ereignishandler "ontimeout" verwendet wird. In diesem Fall, wenn der Handler "ontimeout" ausgelöst wird, erfolgt der Aufruf der Methode timeoutRaised.

function timeoutRaised()
{
    alert("timeout");
}

...

xmlHttpRequest.ontimeout = timeoutRaised;

Verwandte Themen