Czy Internet Explorer 8 obsługuje HTML 5?


138

Czy IE8 obsługuje HTML5? Czy znajduje się na mapie drogowej IE8?


HTML 5 jest nadal wersją roboczą. To oznacza, że ​​wszystko może się z nią stać. Jego rozwój mógłby nawet zostać zatrzymany, tak jak stało się to z XHTML 2.
Gumbo

37
Miejmy nadzieję, że po IE8 nie będzie żadnego IE i żaden z nich nie poczuje się urażony takimi pytaniami.
Eastern Monk

Co więcej, HTML5 to IE8, który jest i zawsze będzie szkicem!
MEM

Odpowiedzi:


80

IE8 beta 2 obsługuje dwa interfejsy API z HTML5: przesyłanie wiadomości między dokumentami i przechowywanie innych niż SQL .

IE8 beta 2 nie implementuje algorytmu parsowania HTML5 ani nowych elementów (brak <canvas>lub <video>wsparcie).

Istnieją również poprawki błędów, które lepiej dopasowują IE8 do HTML5.


43
więc odpowiedź jest taka, że ​​w żadnym wypadku IE8 nie obsługuje html5 - tylko kilka przypadkowych fragmentów tego. Co sprawia, że ​​używanie HTML5 (jak w znacznikach HTML, a nie skryptowych API) jest wątpliwe.
Roland Tepp

Jeśli chcesz obsługiwać HTML 5 w IE 8, pobierz wtyczkę do IE o nazwie „Chrome Frame”. Renderuje HTML 5 tak, jak robi to Google Chrome! Więcej informacji tutaj: appleinsider.com/articles/09/24/…
Shadowpat


72

Możesz uzyskać tagi HTML5 działające w IE8, włączając ten JavaScript w głowie.

<script type="text/javascript">
 document.createElement('header');
 document.createElement('nav');
 document.createElement('menu');
 document.createElement('section');
 document.createElement('article');
 document.createElement('aside');
 document.createElement('footer');
</script>

1
Czy jest jakiś artykuł, w którym to znalazłeś? Dzięki +1
BuddyJoe

Przepraszamy, włączyłem go do weryfikacji mojego formularza, ale nie zadziałał. Czy jest jakiś link, pod którym moglibyśmy dowiedzieć się więcej o tym, jak to działa?
Helen Neely

Dzięki, że zadziałało dla mojego elementu sekcji, usunąłem całą resztę. Skąd to wiesz?
mgła

1
Prawdopodobnie mógłbyś użyć JavaScript do zaimplementowania dużej ilości HTML5, po prostu tworząc niestandardowe komponenty JS (dla nowych elementów formularza musiałbyś powiązać niektóre funkcje), ale dodanie bazy danych SQL nie będzie miało miejsca, wraz z innymi Funkcje HTML5. Osobiście powiedziałbym po prostu, trzymaj się z daleka od HTML5 dla aplikacji IE8.
josiah

1
@BuddyJoe, zobacz sekcję "Używanie elementów HTML5 w przeglądarkach innych niż HTML5" na stronie MDN tutaj: developer.mozilla.org/en-US/docs/Web/Guide/HTML/ ...
Florent Paillot

43

Możesz użyć tego skryptu podkładki IE HTML5, aby uzyskać podstawowy poziom obsługi nowych elementów semantycznych w HTML5, takich jak <article>.


2
Należy zwrócić uwagę, że to nie pomaga w przypadku niektórych zastosowań JavaScript. Na przykład nie zadziała: var div = document.createElement ('div'); div.innerHTML = '<section> test </section>'; W końcu otrzymujemy div.childNodes.length = 2. Natknąłem się na problem przy użyciu jQuery i próbowałem dowiedzieć się, co się dzieje w IE.
Nick Spacek

2
Nitpick: scenariusz nazywa się „shiv” (jak w ręcznie robionym więziennym nożu), a nie „shim”.
Mikko Rantalainen

6
Cóż, żeby być całkowicie pedantycznym, autor używa zarówno „shim”, jak i „shiv”. Projekt nosi nazwę „html5shim”. Cytowanie z code.google.com/p/html5shim : częste pytanie: jaka jest różnica między html5shim a html5shiv? Odpowiedź: nic, jeden ma m, a jeden ma av - to wszystko.
John

26

Modernizr jest również świetną opcją umożliwiającą renderowanie IE w HTML5.


6
Ze strony głównej Modernizera - Modernizr nie dodaje brakujących funkcji do przeglądarek; zamiast tego wykrywa natywną dostępność funkcji i oferuje sposób na utrzymanie wysokiego poziomu kontroli nad witryną, niezależnie od możliwości przeglądarki.
Ira Miller

10
Nie mogę uwierzyć, że to dało tyle głosów negatywnych. +1, aby odwrócić jeden z nich. Modernizr nie może dodać dowolną funkcjonalność przeglądarki, ale (wraz z mnóstwem innych przydatnych rzeczy) to robi to funkcjonalność HTML5 Shim, co zostało tutaj wymienione w innych odpowiedzi, i nadano dobre wyniki.
Spudley

Modernizator w połączeniu z polyfill ( modernizr.com/docs/#polyfills ) wydaje się dodawać obsługę zgodności dla funkcji HTML5. Jednak JavaScript musi być włączony.
Mikko Rantalainen

1
Nie mogę uwierzyć, że zebrało to tyle głosów pozytywnych. Modernizr zawiera dodatkową bibliotekę o nazwie shiv, która umożliwia np. Zrozumienie tagów HTML5, a modernizr obejmuje wykrywanie funkcji, ale nie ma to nic wspólnego z html5. Więc jeśli chcesz np. Zrozumieć HTML5, BARDZIEJ logiczne jest użycie shiv, ponieważ Modernizr byłby przesadą. Zasadniczo Modernizr NIE jest świetną opcją, jak sugerowałeś.
sotn

+1 za odpowiedź i dzięki! Wróć do górnego komentarza - zapewnia wsparcie starym IE w celu prawidłowego renderowania dokumentu, może nie zapewniać funkcji odtwarzacza HTML5 lub renderowania 3D i rozszerzenia, ale w przypadku zwykłych witryn, które opierają się na prawidłowym dziedziczeniu stylów css i używają nowe tagi html5, działa idealnie. Naprawia również niektóre problemy z renderowaniem i nieco rozszerza obsługę css: dodanie obsługi rgba () i innych rzeczy poprzez dodanie filtrów, co ułatwia życie programisty - te trywialne rzeczy, które w dzisiejszych czasach zawsze muszą być napisane, aby pokryć stare, wadliwe przeglądarki Microsoft ...
Vasil Popov

17

Czy to obsługuje

<!DOCTYPE html>

Tak.

Być może lepszym pytaniem jest to, jakie nowoczesne funkcje internetowe obsługuje IE8. Niektóre z najlepszych miejsc do odpowiedzi, że są caniuse.com , html5test.com i browserscope.org .

HTML5 oznacza wiele różnych rzeczy dla różnych ludzi. Obecnie oznacza to funkcjonalność HTML, CSS i JavaScript. Termin ten staje się nieco podobny do „Web 2.0”.




5

HTML5 jest nadal w wersji roboczej (i będzie przez długi czas). Po co się męczyć?


10
+1 Pytanie ma prawie 15 miesięcy, a Ty jako pierwszy wspomniałeś, że HTML 5 wciąż jest wersją roboczą.
Gumbo

5
Słuszna uwaga. Po co się męczyć? To nie jest tak, że pomaganie sieci Web pomaga firmie Microsoft. Stąd Silverlight i niezbyt dobra przeglądarka.
BuddyJoe,

10
@Gumbo - (pierwsza) specyfikacja języka C została ukończona dopiero w 1989 roku. Czy czekałeś do tego czasu, aby z niej skorzystać? Do tego czasu przejął branżę. Po co się męczyć? Myślę, że zależy to od tego, czy chcesz w pełni wykorzystać to, co oferują dzisiejsze platformy. W przeciwnym razie, dlaczego nie używać wiecznie HTML 3.2 lub nawet 2.0?
Justin,

2
@Justin Nie. Jest również dość powszechne, że standardy są tylko zapisem tego, co w praktyce jest już de facto standardem.
Gumbo

4

Zapoznaj się z przewodnikiem caniuse dla wszystkich funkcji HTML 5 we wszystkich przeglądarkach i wersjach, w tym w przyszłych wersjach.


4

Możesz tego użyć, aby IE8 zrozumiał / obsługiwał podstawowe tagi HTML5.

<!--[if lt IE 9 ]> 
    <script type="text/javascript">
        var html5Elem = ['header', 'nav', 'menu', 'section', 'article', 'aside', 'footer'];
        for (var i = 0; i < html5Elem.length; i++){
            document.createElement(html5Elem[i]);
        }
    </script>
<![endif]-->

2

Według http://msdn.microsoft.com/en-us/library/cc288472(VS.85).aspx#html , IE8 będzie miał "silną" obsługę HTML 5. Nie widziałem nic, co by dokładnie omawiało, co oznacza „silne wsparcie”, ale mogę powiedzieć, że tak, niektóre rzeczy HTML5 trafią do IE8.


6
Cóż, IE8 wyszedł i nie widzimy "silnej obsługi HTML5", a Microsoft nie jest znany z uaktualniania, tak jak robią to inne bardziej nowoczesne przeglądarki, więc każde "mocne wsparcie" będzie musiało poczekać na IE9, ale Microsoft nie powiedział zbyt wiele o HTML5 dla IE9 też.
Rob


2

Niektóre z innych odpowiedzi tutaj dotyczą dodawania funkcji HTML5 do IE8 i innych przeglądarek. Są to tak zwane Polyfills i moje ulubione miejsce do znalezienia tych jest tutaj .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.