2010-09-08 10 views
6

Słyszałem (z Crockford), jakie atrybuty typu w elementach LINK i SCRIPT są zbędne, gdy te elementy są używane do ładowania zewnętrznych zasobów. (Ponieważ odpowiedź HTTP określa typ zawartości zasobu.)Atrybut type elementów SCRIPT i STYLE w HTML?

<link rel="Stylesheet" href="foo.css"> 

<script src="foo.js"></script> 

Ale co przypadku, gdy nie jest umieszczony kod HTML inline wewnątrz styl i elementów skryptu?

<style> 
    /* inline CSS rules */ 
</style> 

<script> 
    // inline JavaScript code 
</script> 

Czy ustawienie typu atrybutu w tych przypadkach jest zalecane? Czy są jakieś problemy, gdy zdecydujemy się pominąć atrybut typu?

+0

Kilka dodatkowych odpowiedzi: http://stackoverflow.com/questions/7715953/do-we-need-type-text-css-for-link-in-html5/7716130#7716130 –

Odpowiedz

10

Dla HTML 4 odpowiedź jest prosta: atrybut type jest wymagany zarówno dla <script> jak i <style>.

Autorzy muszą podać wartość tego atrybutu; nie ma wartości domyślnej dla tego atrybutu.

O ile wiem, domyślnie awaryjna we wszystkich przeglądarkach w jego nieobecności jest text/javascript i text/css, odpowiednio. Powszechną (choć nieważną) praktyką jest nie używanie atrybutu type. Wciąż będę go określał, aby uniknąć problemów z przeglądarką.

HTML 5 akceptuje rzeczywistość i deklaruje te wartości jako oficjalne wartości domyślne dla <style> i <script>. Jestem prawie pewien, że to sprawia, że ​​dobrze jest zostawić je również dla zawartości liniowej, która będzie automatycznie przetwarzana przy użyciu prawidłowego typu zawartości.

Powiązane problemy