2011-11-26 22 views
14

Jeśli TYLKO potrzebuję starszych przeglądarek do rozpoznawania tagów HTML5, które powinienem użyć, Modernizr lub popularnego HTML5 shiv? A także, jeśli nie potrzebuję stylizować tagów HTML5, czy muszę mieć przeglądarki, aby je rozpoznać? Czy jest to konieczne tylko przy dodawaniu CSS do tych tagów?Modernizacja kontra HTML shiv

Dzięki!

+4

Potrzebna jest tylko shiva HTML5 do dodawania stylów do znaczników html5 za pomocą CSS. Również modernizator zawiera shif HTML5, więc jest to superset – Raynos

+4

Chciałbym dodać Modernizr jest bardziej do wykrywania funkcji HTML5 ** ** (takich jak formaty audio, reguły stylu CSS, lokalny magazyn ...), a nie znaczników HTML5 wsparcie –

Odpowiedz

16

html5shiv w zasadzie pozwala programowi IE rozpoznawać i układać elementy HTML5, podczas gdy usługa Modernizr zapewnia takie same wykrywanie cech funkcji wspieranych przez broswer.

Aby odpowiedzieć na pytanie, shift HTML5 powinien wystarczyć do rozpoznawania tagów HTML5 w IE. (zauważ, że mówię tu o IE, ponieważ to jest cel atlasu html5shiv, nie wiesz co masz na myśli mówiąc starszymi przeglądarkami)

W drugiej części, nawet jeśli nie chcesz tworzyć tagów HTML5, radziłbym używać shiv, ponieważ przeglądarka może wyświetlać je niepoprawnie lub wcale, więc lepiej być bezpiecznym.

+0

Wspaniale, zastanawiałem się jeśli shiv był niezbędny, nawet jeśli nie stylizowałem tagów. Szkoda, że ​​działa tylko z IE (kiedy mówiłem, że starsze przeglądarki miały na myśli Firefoksa 1 lub 2, lub jakakolwiek wersja Chrome/Opera, która nie obsługuje HTML5) – federicot

+0

Nie jest często spotykać kogoś używającego FF1 w dzisiejszych czasach;) – omarello

+0

Ty "źle się spisuję zgodnie z tym, co czytałem w [Wikipedia] (http://en.wikipedia.org/wiki/Modernizr#What_Modernizr_doesn.27t_do). – Shimmy

11

Shiva HTML5 jest mniejsza i jeśli nie potrzebujesz funkcji wykrywania Modernizr, przejdź do shiv.

Rozmiar pliku jest bardzo ważny, ponieważ zawsze znajduje się na czele dokumentu HTML i blokuje pobieranie dodatkowych zasobów do momentu pełnego wykonania.

Ponieważ jest ona potrzebna tylko dla starszych przeglądarek, używam następujący kod:

<!--[if lt IE 9]> 
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> 
<![endif]--> 

można usunąć tagi html nie używać, ale wtedy nie będzie można wykorzystanie pliku hostowane na Google.

+0

co daje mi to zdanie _detection_? Po prostu piszę html i Js. i ma na celu zastosowanie stylu do wszystkich elementów (w tym html5), więc co masz na myśli przez "wykrywanie"? czy możesz podać przykład? –

1

Alternatywnie można użyć narzędzia Modernizr do załadowania określonego pliku, jeśli przeglądarka obsługuje określone funkcje CSS lub HTML5.

powiedzmy jeśli przeglądarka nie obsługuje „płótno” jako elementu HTML5 i „fontface” jako własności CSS3

Modernizr.load({ 
test: Modernizr.fontface && Modernizr.canvas, // Test if the browser supports it or not 
yep : '/path-to/html5-css3-attributes.css', // If browser supports it, load this file 
nope: '/path-to/old-css-attributes.css' // If NOT, load this instead 
}); 

również można użyć .js w stanie ścieżkę do pliku.

Powiązane problemy