ZAWWW-2st1.2-w08.tresc-1.1-Slajd16
XMLHttpRequest czy IFRAME?
Obiekt XMLHttpRequest jest rozwiązaniem nowszym niż znacznik <iframe>, a co ważniejsze opracowanym specjalnie do realizacji asynchronicznych żądań HTTP. Wykorzystanie ramek <iframe> do tego celu ma raczej charakter „sztuczki” i nie było ich planowanym zastosowaniem. Zalety XMLHttpRequest w porównaniu z ramkami <iframe>:
(a) XMLHttpRequest najczęściej jest szybszy,
(b) XMLHttpRequest ma „wbudowaną” obsługę XML,
(c) załadowanie dokumentu do ramki <iframe> jest uwzględniane w historii przeglądarki, co w aplikacji AJAX powoduje nienaturalne z punktu widzenia użytkownika efekty operacji Back i Refresh.
Domyślnym sposobem realizacji asynchronicznego pobierania danych z serwera bez konieczności przeładowania całej strony jest dziś z pewnością obiekt XMLHttpRequest. Czynniki, które mogą skłonić twórcę aplikacji do wykorzystania niewidocznej ramki <iframe> to m.in.: wsparcie dla <iframe> w starszych przeglądarkach i konieczność umożliwienia uruchamiania obiektów ActiveX w przeglądarce Internet Explorer w celu skorzystania z XMLHttpRequest.