Application/xhtml+xml i javascript

jak to jest w html.

Pytanie, jak poprawić poniższy kod, a raczej skrypt js żeby działał poprawnie zarówno dla application/xhtml+xml jak i text/html?

Poczytaj tutaj, może któreś z tych rzeczy masz skopane: :slight_smile:

http://forum.php.pl/index.php?showtopic=77412

http://developer.mozilla.org/pl/docs/Po … tach_XHTML

Po prostu Google Maps jest skopane i nie działa prawidłowo przy application/xml+xhtml.

A sens wysyłać text/html i tak jest taki, że lepiej się XHTML-a pisze :wink:

że co?!

strona napisana w XHTML a wysłana jako text/html będzie interpretowana przez przeglądarkę jako HTML, więc nie osiągnie się tego co daje XHTML. Co prawda w wersji 1.0 jest to jeszcze dopuszczalen, ale w 1.1 jest już obowiązkowo nakazane przesyłanie strony jako application/xhtml+xml

Tak, strona wysyłana jako text/html dla przeglądarki będzie zupą tagów. Tak, XHTML 1.1 nie powinno być już wysyłane w ten sposób. Ale powiedz to Google Maps, które krytycznie opiera się o document.write(), które w prawdziwym XHTML nie ma prawa istnieć (skądinąd innerHTML też).

http://groups.google.com/group/Google-M … 79?lnk=gst

Ale MOIM ZDANIEM po jakimś przyzwyczajeniu lepiej się pisze już XHTML niż HTML, bo ma mniej niekonsekwencji (choćby to, że każdy znacznik musi być zamknięty - a w HTML taki nie ma zamknięcia, jest nieprawidłowe), zwłaszcza dla kogoś, kto równolegle pisze strony w prawidłowym niejako XHTML czy cokolwiek w XML. I dlatego piszę XHTML 1.0 Strict wysyłany jako text/html, chociaż w gruncie rzeczy powinienem pisać w HTML 4.01 Strict. I o to mi wyżej chodziło :wink:

Jeszcze a propos tego XHTML 1.1 i jego typu MIME - specyfikacja wyraźnie twierdzi, że “should not” dla text/html, a nie “must not”.

I jeszcze o GMaps:

http://mcv.jogger.pl/2007/08/11/google- … w-xhtml-u/

Na Google jest sposób, wystarczy chwila z Google, chociażby: http://segv.jogger.pl/2006/12/01/adsens … orkaround/

widziałem kilka sposobów jak poradzić sobie z application/xhtml+xml i Google, powyżej jeden z przykładów.

Nie łap specyfikacji za słówka:

po pierwsze jeśli zakodujesz w xhtml 1.1 text/html i przewalidujesz, dostaniesz błąd z oficjalnego walidatora W3C

po drugie, strona zostanie zinterpretowana przez przeglądarkę jako HTML, a nie XHTML. Możesz to sobie sprawdzić najpierw wysyłając jakąś stronę jako text/html a potem poprawnie (tylko pamiętaj, aby wysłać w nagłówku typ mime). Zauważysz różnicę.

@EDIT:

kolejny link z google:

http://www.cssplay.co.uk/menu/adsense.html

Tak, “ramka” (no, powiedzmy) z innym typem MIME jest rozwiązaniem. Tutaj jest napisane dla Google AdSense, ale i dla Maps powinno zadziałać rzeczywiście. Jednak czy IE to zrozumie? Nie sprawdzałem, ale znając życie to nie zdziwiłbym się, gdyby nie :wink: [update]

Oczywiście, że wiem, że wysyłając stronę XHTML jako text/html zostanie ona nieco inaczej pokazana, oraz walidator pokaże komunikat (w sekcji “Potential Issues”). Dlatego negocjacja typu MIME jest dobrą rzeczą.

Chyba koniec dyskusji, bo obydwaj się tak naprawdę zgadzamy :slight_smile:

Jasne, przez IE trzeba kombinować, żeby jako tako to było. Sam tak robiłem. Dla IE text/html, a dla przeglądarek prawidłowo wysyłałem application/xhtml+xml :slight_smile:

:slight_smile:

Swoją drogą, to chyba oddaliliśmy się od głównego tematu,

api - jest coś nowego w sprawie?

Nic nowego.

Wiem już przynajmniej że to wina zpartolonych skryptów googla.

narazie mam ustawione text/html i waliduje się dobrze ale w wolnej chwili sprawdzę ten pomysł z object.