2010-03-07 12 views
5

Myślałem o standardach internetowych i zastanawiałem się, czy musimy mieć poprawny HTML i CSS zanim zastosujemy JavaScript?Czy HTML i CSS muszą być poprawne, zanim zastosujemy JavaScript?

Czy ktoś może mnie oświecić na temat relacji między poprawnym HTML, CSS i JavaScript?

Na przykład, czy nieprawidłowy HTML i CSS uniemożliwiają działanie JavaScript?

+1

Zawsze pamiętaj, że najpoważniejsi użytkownicy witryny będą używać Firefoksa z rozszerzeniem NoScript. Dlatego musisz upewnić się, że twoja strona jest w pełni funkcjonalna bez javascript. Javascript powinien być używany tylko w celu zwiększenia wygody użytkownika. –

+2

@PP: ta rada jest niedorzeczna. Twoja witryna powinna być w pełni funkcjonalny bez js uspokoić Google i inne roboty, a nie w celu zaspokojenia J. Losowa Nerd z NoScript. Odsetek internautów używających noscript jest nadal znikomy dla prawie wszystkich witryn (jeśli masz statystyki, proszę zacytuj). –

Odpowiedz

4

Tyle warg, ile płacimy za posiadanie prawidłowego HTML, przeglądarki są bardzo wyrozumiałe. Przyczyny tego są historyczne. Na początku było (i wciąż jest) dużo złego HTML.

Jednak mogą występować nieprzewidywalne różnice między przeglądarkami z nieprawidłowo utworzonym kodem HTML. Na przykład różne przeglądarki mogą inaczej traktować niezamknięty znacznik.

Wszystkie przyczyny powstawania znaczników to utworzenie DOM (Document Object Model) w przeglądarce w oparciu o interpretację tej przeglądarki. CSS i JavaScript są stosowane do DOM.

+0

Oni wybaczają ... dopóki nie są. Podczas mojej ostatniej pracy musieliśmy uruchomić nasze strony społecznościowe w harmonii z HTML klienta, CSS i JavaScript. I powiem wam, niektóre z tych rzeczy nie grały wcale przyjemnie. Okazuje się, że niektóre przeglądarki ignorować elementów niesymetrycznych nieprawidłowo elementy własny zamknięty, etc., a niektóre nie. Absolutnie najgorszym bałaganem do sprzątnięcia były czyjeś źle zagnieżdżone stoły. Albo (prawdziwa historia) kogoś, kto umieszcza elementy DIV wokół wszystkich swoich elementów TR "dla dodatkowej klasy CSS", które by mu dały. – Robusto

+0

Niestety, muszę się zgodzić. "Prawidłowy" HTML pod względem 100% zgodności z W3C to trochę przesada. Z pewnością wszyscy wy znaczniki muszą być zamknięte, a będąc conistent z najlepszych practces jest zawsze dobre, ale nigdy nie miałem javascript nie na mnie, bo brakowało mi „ " Heh. – cazlab

+0

Cześć, dziękuję za odpowiedź. Czy to oznacza, że ​​DOCTYPE, lub XHTML, czy HTML tak naprawdę nie wpływa na działanie JavaScript? –

2

Nie zgadzam się z aboveresponses: Miałem bardzo złe czasy polowania przez pozorne błędy javascript, zanim przypomniałem sobie o validate stronie, nad którą pracowałem. Jak tylko poprawiłem jaskrawe błędy, skrypty działały zgodnie z zamierzeniami.

Najbardziej oczywisty problem (nie taki, jakiego doświadczyłem, ponieważ już tego szukam): mam dwa elementy o tym samym atrybucie identyfikatora i staram się zrobić skrypt, który zależy od tego, aby działał zgodnie z oczekiwaniami :)

Chociaż może być prawdą, że wymagany poziom weryfikacji jest dość niski, gdy walniesz głową w stół, ponieważ Twoja witryna nie działa i nie wiesz dlaczego, będziesz to wspominać z czułością.

+1

Chociaż nie zgadzam się z @cletus, zgadzam się z twoim ogólnym stanowiskiem. Ale to wydaje się być punktem, który wskazuje na Cletus: JS/CSS działa na DOM, HTML stanowi podstawę DOM. Jeśli więc DOM jest źle sformułowany - z nieprawidłowego (x) html - to js/css niekoniecznie będzie działać (lub działać zgodnie z przeznaczeniem).Wezwę do głosowania, ale już nie głosuję na ten dzień. =/ –

+0

cóż, jeśli pytanie brzmi "nieistotne błędy html/css stop js z pracy", to cletus ma rację. Chociaż błędy CSS mogą być dość bezlitosne. Ale w ogólnym przypadku tak nie jest. Znacznie taniej i łatwiej jest sprawdzić poprawność html i CSS. Jest jeszcze taniej (ale trudniej) zbudować poprawny html i css. Nie mówię o poziomach ważności zealota, ale o upewnieniu się, że drzewo DOM jest prawidłowe i że nie ma błędów css. –

Powiązane problemy