morzel.net

.net, js, html, arduino, java... no rants or clickbaits.

Ajax w starych wersjach IE wymaga ActiveX

Zaletą pisania aplikacji intranetowych jest często to, że wszyscy użytkownicy programu będą korzystać z identycznej przeglądarki. Niestety w wielu instytucjach tą przeglądarką jest IE6. Niechęć do zmiany przeglądarki wynika często z obaw o to, że stare aplikacje (krytyczne dla działalności) nie będą pracować w nowszym IE...

Jeśli w budowanym rozwiązaniu zamierzasz użyć Ajaxa nie zapomnij w wymaganiach warstwy klienckiej określonych w umowie, dodać obsługę ActiveX. Dlaczego nie wystarczy włączyć JavaScript? W IE5.x i IE6 za obsługę asynchronicznej komunikacji z serwerem odpowiada obiekt ActiveX. Utworzyć go można w taki sposób:

var xhr = new ActiveXObject('Microsoft.XMLHTTP');

W innych przeglądarkach obiekt XmlHttpRequest tworzony jest za pomocą kodu:

var xhr = new XMLHttpRequest();

więc użycie ActiveX nie jest konieczne (dotyczy to także IE7).

Jeśli myślisz, że możesz nie przejmować się IE6 to niestety jesteś w błędzie. Ta przestarzała (wypuszczona w 2001) przeglądarka ma nadal 30% udziału w rynku internetowym. W intranetach firm i urzędów na pewno nie jest lepiej...