![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
"Misiaczki" zirytowały kolejnego człowieka. Naprawdę mam ochotę olać to i napisać na stronie, że jak chcą ją obejrzeć, to niech zainstalują sobie inną przeglądarkę, zgodną ze standardami. Chociaż tym razem chodzi o AJAX i JS, tu także są problemy. Ale nie dam tak łatwo za wygraną :-)
Oto problem: Starałem się utworzyć stronę opierając ją o Ajaksa. Czyli wykorzystać PHP do pobierania danych z bazy, a nie do generowania całej strony. W FF wszystko jest OK, natomiast IE czepia się przy podmianie elementów strony (DOM). Wywala błąd: Cytat Szczegóły błędu na stronie sieci Web Agent użytkownika: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; InfoPath.1) Sygnatura czasowa: Mon, 23 Aug 2010 19:58:38 UTC Wiadomość: Nieoczekiwane wywołanie metody lub dostępu do właściwości. Wiersz: 5 Znak: 5 Kod: 0 Identyfikator URI: http://*** ścieżka ***/ajaxText-utils.js Oto zawartość tego skryptu: Kod /*1.*/function replaceText(el, text) { /*2.*/ if (el != null) { /*3.*/ clearText(el); /*4.*/ var newNode = document.createTextNode(text); /*5.*/ el.appendChild(newNode); } } function clearText(el) { if (el != null) { if (el.childNodes) { for (var i = 0; i < el.childNodes.length; i++) { var childNode = el.childNodes[i]; el.removeChild(childNode); } } } } function getText(el) { var text = ""; if (el != null) { if (el.childNodes) { for (var i = 0; i < el.childNodes.length; i++) { var childNode = el.childNodes[i]; childNode.normalize(); if (childNode.nodeType == Node.TEXT_NODE) { text = text + childNode.data; } } } } return text; } Nie wiem, czy po prostu appendChild jest nieobsługiwany czy coś. Jak googlowałem to pisali coś o <TBODY>, ale nie bardzo rozumiem o co chodzi. Pomożecie?
Powód edycji: [erix]: to nie AJAX
-------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A może byś tak ten skrypt wystawił? Debuggery mamy w oczach?
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Który? Ten, który wykorzystuje funkcje? Proszę bardzo:
Kod function pageRequest(id) {
var pid = id; var url = 'server/pageLoader.php'; request.open('POST', url, true); request.onreadystatechange = updatePage; request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); request.send('pid=' + escape(pid)); } function updatePage() { if(request.readyState == 4) { if(request.status == 200) { alert(request.responseText); var jsonData = JSON.parse(request.responseText); var title = jsonData.title; var content = jsonData.content; var nav = jsonData.nav; var titleEl = document.getElementsByTagName('title')[0]; var contentEl = document.getElementById('content_in'); var navEl = document.getElementById('nav_in'); // TUTAJ WYKORZYSTUJĘ FUNKCJE DO PODMIENIANIA ZAWARTOŚCI replaceText(titleEl, title); contentEl.innerHTML = content; navEl.innerHTML = nav; } else { var message = request.getResponseHeader("Status"); if((message == null) || (message.length <= 0)) { alert('Błąd! Status żądania ma wartość '+request.status); } else { alert(message); } } } } -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Debuggery działają na wykonywanym kodzie.
Temat: JavaScript jesli Twoj watek go dotyczy KONIECZNIE przeczytaj -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Chodzi, że mam zahostować ten skrypt, tak?
http://www.asmoxtestphp.cba.pl/ Przy ładowaniu strony jest wyświetlany alertem request.responseText, który powinien być elementami strony zapisanymi w formacie JSON. Następnie powinny być one powrzucane w odpowiednie miejsca szablonu z wykorzystaniem drzewa DOM. Problem w tym, że te hostingi dorzucają jakieś swoje reklamy i wygląda na to, że właśnie tam gdzie powinna być zawartość stronki. -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 12:31 |