![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 19 Pomógł: 1 Dołączył: 11.09.2007 Ostrzeżenie: (0%) ![]() ![]() |
Tworzę stronę w technologii AJAX. Pliki które są ładowane jako podstrony serwisu mają format XML o strukturze:
Kod <?xml version="1.0"> <response> <title>Tytuł podstrony</title> <text><![CDATA[ <span style="color: black;">Tagi html</span> ]]></text> </response> Chcę by moja strona była zgodna ze standardem XHTML. Jednak nie mogę wtedy korzystać z własności JavaScript innerHTML. Wiem że muszę DOM'em dodawać tagi do kodu strony. Jakim sposobem dodać tagi z XML-a do kodu strony? Może jest sposób na rozbicie tych znaczników na obiekt DOM'u i wklejenie go przez appenChild? Proszę o pomoc ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
Cytat Chcę by moja strona była zgodna ze standardem XHTML. Jednak nie mogę wtedy korzystać z własności JavaScript innerHTML. nie bardzo rozumiem, dlaczego zakładasz, że jedno wyklucza drugie? -------------------- - Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... - |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 19 Pomógł: 1 Dołączył: 11.09.2007 Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj do Firefoxa wysłać Content-Type: application/xhtml+xml; i zobaczysz. Fox zgłosi wyjątek!
Wikipedia: Cytat Ze względu na trudności z parsowaniem, nie powinno się używać w XHTML-u javascriptowej metody document.write() i właściwości innerHTML; jednak niektóre przeglądarki już obsługują te konstrukcje także w dokumentach XML. Zamiast nich należy używać metod modelu DOM. IE nawet nie wie co to application/xhtml+xml ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
cóż... w swoich projektach mam
swobodnie używam AJAX'a - odpowiedzi z serwera wstawiam do innerHTML - wszystko hula na IE6 + IE7 + FF2 + O9 i nie zgłasza żadnych wyjątków ... strony bez problemu przechodzą walidację w3c dla xhtml 1.0 strict ... posiłkujesz się wyłącznie cytatami z wiki czy czasami puszczasz też swój kod do walidacji w3c ? EDIT: podejrzewam, że FF generuje ci wyjątek, ponieważ kod który próbujesz wstawić do innerHTML nie jest poprawnym kodem XHTML - pokaż ten kod to zweryfikujemy ... Ten post edytował nevt 12.02.2008, 12:45:03 -------------------- - Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... - |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 2 Dołączył: 30.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
To że przechodzi validację to nic nie znaczy. Validator W3C jest nieco nieudolny.
XHTML to nie jest jakiś ciąg znaków - to drzewo zagnieżdżonych w sobie elementów. Ingerowanie za pomocą InnerHtml w zawartość elementów nie jest dobrą praktyką - powinno się traktować to DOM'em:
W ten sposób wstawiamy tekst. Nowe węzły można dodawać poprzez element.appendChild(); Ten post edytował Ziels 13.02.2008, 14:02:33 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
Cytat To że przechodzi validację to nic nie znaczy. Validator W3C jest nieco nieudolny. ubawiłeś mnie do łez ![]() zgłoś do w3c że walidacja nic nie znaczy, a ich walidator jest nieudolny ... -------------------- - Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... - |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 19 Pomógł: 1 Dołączył: 11.09.2007 Ostrzeżenie: (0%) ![]() ![]() |
podejrzewam, że FF generuje ci wyjątek, ponieważ kod który próbujesz wstawić do innerHTML nie jest poprawnym kodem XHTML - pokaż ten kod to zweryfikujemy ... Miałeś rację ![]() Co do Content-Type to wysyłaj go przez header() : Kod header('application/xhtml+xml; charset=utf-8');
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
cieszę się, że pomogłem. a co do:
Cytat Co do Content-Type to wysyłaj go przez header() : Kod header('application/xhtml+xml; charset=utf-8'); to przecież wkleiłem kawałek wynikowego kodu stronki a nie kod skryptu który ją generuje... -------------------- - Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... - |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 19 Pomógł: 1 Dołączył: 11.09.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dobra to do meritum : Jak z takiego np. stringa
Kod <div><span>hi</span><b>lol</b></div> zrobić obiekt DOM który będzie można wkleić przez appenChild? |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 21.06.2025 - 16:00 |