Korzystam z jQuery na kilku moich stronach internetowych i chociaż używam CDN do jego obsługi, to po prostu nie ma sensu, aby odwiedzający pobierał jQuery za każdym razem. jQuery musi być najczęściej używaną strukturą JavaScript na świecie - czy nie ma większego sensu, jeśli przeglądarki mają po prostu domyślnie zainstalowane?
W ten sposób milionom razy dziennie można zapobiec pobieraniu jQuery. Albo z własnych stron internetowych, albo z CDN.
Wszystko, co byłoby naprawdę potrzebne, to jakieś zdanie typu:
<!--[if jQuery gt 11]>
Czy istnieje coś, co pomoże mi uniemożliwić podróż do CDN, jeśli już mają jQuery w pamięci podręcznej z innej witryny?
Odpowiedzi:
Jeśli udostępniasz jQuery z popularnej sieci CDN, takiej jak Google Hosted Libraries lub cdnjs , nie zostanie ona ponownie pobrana, jeśli odwiedzający był w witrynie, która odwoływała się do niego z tego samego źródła (o ile wersja buforowana nie wygasła).
jQuery jest popularną biblioteką, tak jak mówisz, ale powiązanie jej z przeglądarką prawdopodobnie nie nastąpi z kilku powodów:
źródło
JQuery nie jest nie tylko popularną biblioteką JS, ale przeglądarka może potencjalnie zawierać wiele wersji. Google CDN obecnie wymienia: 42 wersje jQuery; 44 wersje interfejsu użytkownika jQuery; 6 wersji jQuery Mobile.
Lepiej pozwolić twórcom stron internetowych określić, która wersja biblioteki ma zostać pobrana na podstawie wymagań ich witryny. Jeśli użyjesz bieżącej wersji produkcyjnej jQuery na swojej stronie i załadujesz ją z bardziej popularnej sieci CDN, istnieje duża szansa, że twoi użytkownicy i tak już ją buforują.
źródło
Przeglądarka jest silnikiem, nie jest obowiązkiem projektanta silnika dowiedzieć się, jaki rodzaj paliwa i dodatkowych części zamierzasz włożyć do samochodu i uwzględnić go dla Ciebie. Gdyby to zrobili, przeglądarki byłyby ogromnym nadękiem, ponieważ następnym pytaniem będzie „dlaczego tylko jQuery?”, A my ostatecznie utrzymalibyśmy repozytoria zależności.
Czy uwzględnimy również wszystkie wersje? Co jeśli ktoś chciałby użyć wersji niestandardowej? Co jeśli ktoś nie chciałby korzystać z tej biblioteki? Jak często będą się łączyć i wyświetlać najnowsze wydania? Czy skończymy z różnymi przeglądarkami z różnymi wersjami jQuery? Nie mogą nawet w równym stopniu zaimplementować standardowych funkcji HTML, CSS i JavaScript. Co się stanie, jeśli jeden z opiekunów przeglądarki nie będzie uwzględniał biblioteki ani jej konkretnej wersji?
Przeglądarki zapewniają bloki konstrukcyjne i środowisko, w którym można zbudować nie ukończone rozwiązanie.
Umieszczenie jQuery w przeglądarce nie spowoduje, że Twoja strona ładuje się błyskawicznie, ponieważ w dzisiejszych czasach nie jest to największe wąskie gardło, jednak możemy się zgodzić, że jQuery jest niepotrzebnie dużą biblioteką, ale jej celem nigdy nie była szybka biblioteka (biorąc pod uwagę pasmo). Istnieje wiele innych bibliotek, które zostały zaprojektowane z myślą o szybkim ładowaniu i są lekkie jak Zepto .
Jeśli naprawdę martwisz się wielkością i wykorzystaniem przepustowości jQuery, nie używaj go. Czy kiedykolwiek słyszałeś o Vanilla JS ? Jest to jeszcze bardziej popularna biblioteka, z której dosłownie korzysta prawie każdy, w tym sama jQuery! I spełniło już Twoje marzenie, ponieważ jest zawarte w każdej przeglądarce!
źródło
Powodem korzystania z biblioteki takiej jak jQuery jest kompatybilność.
Przeglądarki stają się bardziej zgodne ze standardami, ale korzystając z biblioteki jquery, dostarczasz siebie, nie musisz się martwić różnicami między rodzinami przeglądarek a wersjami
Dostarczając jquery na pewno masz spójny interfejs API.
Jeśli mamy wbudowaną jquery w przeglądarkę, musisz sprawdzić, którą wersję ma użytkownik, a my wracamy do wyszukiwania w przeglądarce i „Najlepiej oglądać tę stronę w ...”
Tak więc wbudowanie jquery w przeglądarkę nie ma sensu.
Również buforowanie działa, więc nawet jeśli użytkownik nie ma jeszcze swojej wersji jquery, należy go pobrać tylko raz.
źródło
Myślę, że respondenci tutaj nie rozumieją, że odpowiedzią na to pytanie jest to, że przeglądarki powinny prawdopodobnie obejmować najczęściej używane biblioteki, wypełniania itp. Po stronie klienta.
Jak podaje osoba zadająca pytanie, można użyć komentarzy warunkowych, aby zapewnić, że osobom korzystającym z przeglądarek, które nie zawierają jquery, zostanie dostarczona odpowiednia wersja.
Jquery zawiera także własną obsługę zgodności wstecznej poprzez migrację, pozwalając na komentarze warunkowe, aby zapewnić retro wsparcie dla kogoś ze spakowaną wersją starszej biblioteki jquery bez pobierania całej nowej biblioteki.
Argument ZA umieszczeniem ich w przeglądarkach dotyczyłby nie tylko wygody użytkownika i kosztów, ale także planety, na której żyjemy. Wykorzystanie danych ma ogromny wpływ na globalne zanieczyszczenie, a zapewnienie, że niepotrzebny transfer danych zostanie zminimalizowany, może mieć dramatyczny wpływ na nasz ślad węglowy.
Zasadniczo w celu dodania dodatkowych kilku megabajtów wzdęcia w spakowanej przeglądarce - te same dane są niepotrzebnie przesyłane około miliardów razy dziennie.
To pogarsza wrażenia użytkowników dla wszystkich w Internecie. I kosztuje duże firmy ogromne kwoty pieniędzy.
Jako programista po prostu stworzyłbyś niezbędne wymagane awarie, tak jak to obecnie robimy w IE itp., Więc w czym problem - prawdopodobnie powinien zostać uwzględniony?
źródło