[JS] responseText - nie działa pod IE7, Chromium [SOLVED]


(Spwmarluk) #1

Witam,

Mam funkcję wstawiającą html'a z pliku do określonego div'a w index.html. Problem polega na tym, że wszystko działa prawidłowo pod Operą, Firefox i K-Meleonem, ale nie działa z IE7 oraz Iron. Podczas modyfikacji pliku .js w pewnym momencie udało mi się zmusić IE7 ale niestety po dalszych modyfikacjach IE7 odmówił posłuszeństwa i już nie chce za nic zadziałać :confused:

Obecnie IE7 po kliknięciu w link z menu

Galeria[/code]
 zamiast wczytać dane otwiera katalog z plikami, a Iron nic nie robi (nie działał od początku, oprócz wyświetlenia okienka alert()).

Skrypt js:

[code]var req = false; function getData(zrodlo, cel) { var req = createXMLHTTPObject(); if(req == false) { window.alert("AJAX (XMLHTTP) not supported."); return false; } req.onreadystatechange = function(){loadpage(req, cel)} req.open('GET', zrodlo, true); req.send(null); } function loadpage(xmlhttp, cel) { if (xmlhttp.readyState == 4 && (xmlhttp.status==200 || window.location.href.indexOf("http")==-1)) document.getElementById(cel).innerHTML = xmlhttp.responseText; } var XMLHttpFactories = new Array ( "MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP" ); function createXMLHTTPObject() { var xmlhttp = false; try { alert("XMLHttpRequest()"); xmlhttp = new XMLHttpRequest(); } catch(e) { for (var i=0;i { try { alert(i); xmlhttp = new ActiveXObject(XMLHttpFactories[i]); } catch(e) { continue; } break; } } return xmlhttp; }

To moje pierwsze starcie z js, więc są to posklejane przykłady z netu. Z góry dzięki za pomoc.


(ra-v) #2

Poszukaj w menu Firefoxa konsoli błędów lub w Chromium (Chrome dla Ubuntu?) poszukaj narzędzi dla programistów i zajrzyj w konolę. Z reguły są tam jakieś błędy, wrzuć je na forum albo spróbuj sam je usunąć.

A jeśli chodzi o poprawność HTML to powinno być

[/code]


lub

[code]


(Spwmarluk) #3

Problem był w tym, że testowałem stronę lokalnie. Po wrzuceniu na serwer wszystko działa prawidłowo. Trochę mnie zmyliło to, że Opera i Firefox jakoś nie miały problemów.

Linki poprawiłem i wszystkie błędy jakie wyrzucił walidator w3c i JavaScript. Wcześniej nie działał jeszcze IE6, ale po tych wszystkich poprawkach z nim też nie ma problemów.


(ra-v) #4

IE6 możesz już sobie chyba olać, postaw na wersje 7 i 8.