Stronka, która korzysta z ajax wy¶wietla siê poprawnie na wszystkich przegl±darchach z wyj±tkiem IE. Byæ mo¿e mam jaki¶ b³±d w pliku .js ale konsola Javascript w Firefoxie nie wy¶wietla ¿adnych komunikatów, które by mog³y o tym ¶wiadczyæ, dlatego nie wiem co jest przyczyn± problemów.
Oto plik .js odpowiedzialny za prasowanie xml:
<?php (...) function parseRecords(xml) { with (xml.getElementsByTagName("records").item(0)) { page = getAttribute("page"); maxPerPage = getAttribute("max_per_page"); startId = maxPerPage*page+1; total = getAttribute("total"); if(maxPage < 1) maxPage = 1; $("katalog_stopka").innerHTML = "Strona: <b>" + (currentPage) + " / " + maxPage + "</b>" } $("first").innerHTML = currentPage > 1 ? "<a href='javascript:changePage(-currentPage+1)' class='prev'> ‹‹ first</a>" : "‹‹ first"; $("prev").innerHTML = currentPage > 1 ? "<a href='javascript:changePage(-1)' class='prev'> ‹ prev</a>" : "‹ prev"; $("next").innerHTML = currentPage != maxPage ? "<a href='javascript:changePage(1)' class='prev'>next ›</a>" : "next ›"; $("last").innerHTML = currentPage != maxPage ? "<a href='javascript:changePage("+ (maxPage-currentPage) +")' class='prev'>last ››</a>" : "last ››"; $("wstecz").style.visibility = $("naprzod").style.visibility = $("sortuj_str").style.visibility = "visible"; $("kategoria_str").innerHTML = $("kategoria_hstr").value; d = $("dataTable"); d.innerHTML = ""; record = xml.getElementsByTagName("record"); result = ""; div = document.createElement("div"); zawartosc = ""; if(record.length < 1){ zawartosc = '<div class="greendiv" style="margin: 150px auto"><div class="greendiv2">Nie znaleziono ¿adnych kartek</div></div>'; div.innerHTML = zawartosc; d.appendChild(div); } for (i = 0; i < record.length; i++) { if(i % 3 == 0) zawartosc += "<div class='thumb_row' style='margin:auto;'>"; zawartosc += "<div class='thumb' style='width: 180px'><div class='thumb_img' style='text-align:center'><a href='/Ekartki/Katalog/Kategoria/id"+record[i].childNodes[0].childNodes[0].nodeValue+"_"+record[i].childNodes[1].childNodes[0].nodeValue+"'><img src='/img/kartki/mini/"+record[i].childNodes[2].childNodes[0].nodeValue+"' class='img' style='width: 165px; height: 124px;'></a></div><div style='text-align: left; margin-left: 5px;'><table style='font-size: 9px; width:100%' class='link' ><tr><td class='small' style='width:50%'><img src='http://www.e-kartki.org/img/dys.gif' alt='¶ci±gniêcia' /> "+record[i].childNodes[4].childNodes[0].nodeValue+"<br /><img src='http://www.e-kartki.org/img/kal.gif' alt='data dodania' /> "+record[i].childNodes[3].childNodes[0].nodeValue.substring(0, 10)+"</td><td class='small'><img src='http://www.e-kartki.org/img/tap.gif' alt='tapeta' /> <a href='javascript:displayWindow(\"/tapeta.php?jpg="+record[i].childNodes[2].childNodes[0].nodeValue+"\" ,1034,778)' class='small'>1024x768</a><br /><img src='http://www.e-kartki.org/img/tel.gif' alt='tapeta GSM' /> <a href='javascript:tapeciarz(\"img/kartki/"+record[i].childNodes[2].childNodes[0].nodeValue+"\" ,755,531)' class='small'>tapeta GSM</a></td></tr></table></div></div>"; if(i % 3 == 2) zawartosc += "</div>"; div.innerHTML = zawartosc; d.appendChild(div); } return result; } function getRecords(){ advAJAX.get({ url : "/ajax/katalog.php?page="+currentPage+"&per_page="+maxPerPage+"&sort="+currentSort+"&keyword="+$("key_fraza").value, onInitialization : function() { $("kategoria_str").innerHTML = $("katalog_stopka").innerHTML = '<span style="font-weight: bold">Pobieranie danych...</span>'; $("wstecz").style.visibility = $("naprzod").style.visibility = $("sortuj_str").style.visibility = "hidden"; }, onSuccess : function(obj) { parseRecords(obj.responseXML); }, onError : function(obj) { alert("Error: " + obj.status); } }); } (...) ?>
Przyk³ad: http://e-kartki.org/Ekartki/Katalog/Widoki
EDIT:
Ju¿ wiem, ¿e przyczyn± jest to, ¿e xml.getElementsByTagName("records").item(0) (5 linijka) w IE ma warto¶æ null :|
Niestety nie wiem jeszcze dlaczego i jak temu zapobiec.
Proszê o pomoc
EDIT 2:
Narobi³em tyle rzyku a wystarczy³o u¶wiadomiæ IE, ¿e xml jest w kodowaniu ISO-8859-2

Pozdrawiam