Jakie jest znaczenie wypełniania w HTML5? Widziałem to słowo na wielu stronach o HTML5, np. HTML5-Cross-Browser-Polyfills.
Więc tutaj zbieramy wszystkie podkładki, awarie i wypełnienia, aby zaimplementować funkcjonalność HTML5 w przeglądarkach, które nie obsługują ich natywnie.
Właściwie nie rozumiem, co to znaczy polypełniacze.
Czy to nowa technika HTML5 czy biblioteka JavaScript? Nigdy nie słyszałem tego słowa przed HTML5.
Jaka jest różnica między podkładkami, awariami i wypełniaczami?
Odpowiedzi:
Wielokrotne wypełnianie jest rezerwową wersją przeglądarki, wykonaną w JavaScript, która pozwala na funkcjonalność, której oczekujesz w nowoczesnych przeglądarkach, na działanie w starszych przeglądarkach, np. W celu obsługi kanwy (funkcja HTML5) w starszych przeglądarkach.
Jest to swego rodzaju technika HTML5, ponieważ jest używana w połączeniu z HTML5, ale nie jest częścią HTML5, i możesz mieć wypełnienia bez HTML5 (na przykład w celu obsługi pożądanych technik CSS3).
Oto dobry post:
http://remysharp.com/2010/10/08/what-is-a-polyfill/
Oto pełna lista Polyfillów i podkładek:
https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills
źródło
Najpierw wyjaśnijmy, czym nie jest polyfil: wypełnienie nie jest częścią standardu HTML5. Wielokrotne wypełnienie nie ogranicza się również do Javascript, nawet jeśli w tych kontekstach często pojawia się odniesienie.
Sam termin polyfill odnosi się do jakiegoś kodu, który „pozwala mieć określoną funkcjonalność, której oczekujesz w obecnych lub„ nowoczesnych ”przeglądarkach, aby działała również w innych przeglądarkach, które nie mają wbudowanej obsługi tej funkcji”.
Źródło i przykład wypełnienia tutaj:
http://www.programmerinterview.com/index.php/html5/html5-polyfill/
źródło
Wielokrotne wypełnienie to fragment kodu (lub wtyczki), który zapewnia technologię, którą Ty, deweloper, oczekujesz od przeglądarki w sposób natywny.
źródło
Polyfill to podkładka zastępcza, która zastępuje oryginalne wezwanie wezwaniem do podkładki.
Powiedzmy, że chcesz użyć obiektu navigator.mediaDevices, ale nie wszystkie przeglądarki obsługują to. Możesz sobie wyobrazić bibliotekę, która zapewnia podkładkę, której możesz użyć w następujący sposób:
W takim przypadku jawnie wywołujesz podkładkę zamiast używać oryginalnego obiektu lub metody. Z drugiej strony, wypełniacz zastępuje obiekty i metody na obiektach oryginalnych.
Na przykład:
W twoim kodzie wygląda to tak, jakbyś używał standardowego obiektu navigator.mediaDevices. Ale tak naprawdę polyfill (w tym przykładzie adapter.js) zastąpił ten obiekt własnym.
Ten, który zastąpił, to podkładka dystansowa. Wykryje to, czy funkcja jest natywnie obsługiwana i użyje jej, jeśli jest, lub obejdzie ją przy użyciu innych interfejsów API, jeśli nie jest.
Zatem wypełnienie jest rodzajem „przezroczystego” podkładki. I to właśnie miał na myśli Remy Sharp (który ukuł ten termin) mówiąc: „ jeśli usuniesz skrypt wypełniania, kod będzie działał, bez żadnych zmian wymaganych pomimo usunięcia wypełnienia ”.
źródło