Używam javascript dla niektórych, a teraz i ostatnio zaczął używać jquery, które przyznaję, jestem fanem. <script type='text/javascript' src='../locationOfJquery/jquery.js'></script>
umożliwia korzystanie z biblioteki w znacznikach skryptu na tej stronie. Co chcę wiedzieć, czy właśnie w tym znaczniki skryptów spowalnia czas ładowania strony każdy, nawet jeśli nie ma kodu jQuery na stronie, a także czy są jakieś inne poważne wady użyciem jQueryCzy są jakieś minusy dotyczące dołączania biblioteki jquery na mojej stronie?
Odpowiedz
- Włóż znaczniki skryptów u dołu strony. Nie spowolni to procesu przetwarzania DOM, zanim uruchomią się zdarzenia ładowania.
- Użyj minifikowanej wersji jQuery, która jest tak mała jak mały obraz/ikona.
- Jeśli odwiedzający odwiedzą więcej niż jedną stronę w swojej witrynie, będzie ona również przechowywana w pamięci podręcznej po pierwszej wizycie. Może być już wstępnie buforowany (lub obsługiwany z serwera o większej liczbie lokalnych serwerów), jeśli korzystasz z sieci dostarczania treści (np. Google). Dobre pierwsze wrażenia są krytyczne.
Aby dodatkowo odpowiedzieć na pytania, które miały mniejsze:
- Jeśli nie ma kodu na stronie jQuery, jQuery musi nadal być analizowany. Możesz sprawdzić, ile czasu zajmuje komputerowi analizowanie jQuery za pomocą narzędzia do profilowania, takiego jak Chrome.
- Istnieje ramy, które optymalizują swój skrypt na podstawie na stronie, ale te muszą kompromis zdolność buforowania skrypt porównaniu zysków w szybszym parsowania. Prawie na pewno nie powinieneś się o nie martwić. jQuery jest bardzo lekki w porównaniu do innych frameworków.
liczbach:
Na przykład na Chrome podczas ładowania strony internetowej StackOverflow, prosząc biblioteki jQuery z Google CDN, wyniki były następujące:
- 0.027ms łączny czas spędzone pobranie jQuery (być może buforowane)
- Łączny czas spędzony na ocenie jQuery i wykonaniu domyślnego DOM/domeny: 35.992 ms Operacje CSS
To wszystko jest względne oczywiście. Założę się, że po załadowaniu tej strony nie zauważyłeś żadnego opóźnienia, ponieważ załadowanie całej strony zajęło około 630 ms.
OK, tak, nie powinno być żadnych zmartwień w jego implementacji. – John
Nie należy go dołączać, jeśli go nie używasz.
32k to mała cena do zapłacenia, ale lepiej nie mieć prośbę i 0k dodatkowo ściągnąć.
także, co ważniejsze, można uruchomić w konflikty z innymi ramami jeśli używasz żadnego.
W tej chwili nie interesuję się głównie optymalizacją czasu ładowania jednej z moich większych stron internetowych, ale funkcjonalność jQuery jest zdecydowanie wygodna. – John
Nie ma to żadnego istotnego wpływu na czas wczytywania, ponieważ przeglądarka zrobi to w pamięci podręcznej, a czas jego uruchomienia jest niewielki. Zgadzam się, że lepiej nie umieszczać go na stronach, które nie są używane, ale nie na tyle, aby się tym przejmować, chyba że jest to naprawdę łatwe (np. Twój framework zawiera już koncepcję warunków warunkowych). Nie warto tracić czasu na sen. Jeśli masz wolną stronę, nie jest to wina jQuery. –
Jeśli rozważasz użycie jQuery, to nie martwię się o to teraz. Optymalizacja, którą robisz poprzez wykluczenie jej jest niewielka. – Andrew
Klient będzie musiał pobrać skrypt jQuery (co jest dość mały). Aby jeszcze bardziej zoptymalizować, wystarczy użyć hostowanych wersji "Content Delivery Network" od Google lub Microsoft. Pamiętaj też, aby użyć wersji minified, która jest szybsza.
This article stwierdza przyczyny.
Używanie CDN nie zmieni zbyt wiele. To jest lepsze dla świata i twojego serwera niż dla pojedynczego użytkownika. Może je zapisać z jednego pobrania, ale po raz pierwszy ktoś trafi na twoją stronę, nie będzie musiał ponownie pobierać jQuery, czy jest połączony z CDN lub z twoim serwerem. Nie mówię, że to nie jest dobre, ale nie zmieni ogólnego profilu witryny za pomocą jQuery. –
Tak, zgadzam się, że jest to pomijalna optymalizacja, ale mimo to może zaoszczędzić to pojedyncze pobieranie dla większości użytkowników (jeśli masz miliony nowych użytkowników, co oznacza 30 Kb/s, a miliony użytkowników przepustowości łącza), a także zmniejszyć opóźnienie dla kilku innych użytkownicy, którzy muszą go pobrać. W sumie jest to sytuacja wygrana. Myślę, że warto wskoczyć na modę. –
- 1. jquery dołączania zewnętrznego pliku HTML na mojej stronie
- 2. Czy są jakieś minusy z używaniem make_shared do tworzenia shared_ptr
- 3. Czy są jakieś bezpłatne biblioteki klasy OpenCV?
- 4. Czy dostępne są jakieś biblioteki ccTalk?
- 5. Czy są jakieś wskazówki dotyczące konwersji istniejących bibliotek klas .NET na biblioteki przenośne?
- 6. Czy są jakieś dane dotyczące prędkości dysków lokalnych Azure VM?
- 7. Czy w RDD są jakieś działania dotyczące zamówienia?
- 8. Czy są jakieś ograniczenia dotyczące używania "/ proc/mounts" w Androidzie
- 9. Czy są jakieś konwencje dotyczące pisania komentarzy POD dla Perla?
- 10. Czy są jakieś przydatne biblioteki dla aplikacji konsoli .NET?
- 11. Dlaczego wnioski są wysyłane do/eyeblaster na mojej stronie?
- 12. Standardowy sposób dołączania biblioteki javascript z javascript
- 13. Czy są jakieś .NET ESB?
- 14. Pokaż pulpit Google Analytics na mojej stronie
- 15. show ebay feedback na mojej stronie internetowej
- 16. Czy są jakieś testy porównawcze dotyczące J2Mepolish konwertowania aplikacji J2ME na system Android?
- 17. Czy znasz jakieś biblioteki C++ w Voxelu?
- 18. Funkcja dołączania jQuery do zdarzenia "ładowanie" elementu
- 19. Czy istnieją jakieś biblioteki/frameworki dla SCons?
- 20. Jak właściwie używać history.js na mojej stronie
- 21. Czy są jakieś narzędzia do konwersji starszego VML na SVG?
- 22. Czy są jakieś ograniczenia sprzętowe dla pakietu Nokia Imaging SDK?
- 23. Błąd składni z jQuery dołączania
- 24. Implikacje dotyczące przepustowości Dane z osadzania filmów z YouTube na mojej stronie internetowej
- 25. Czy są jakieś dobre samouczki dotyczące korzystania z sitemesh w aplikacji grails?
- 26. jQuery korzystając dołączania z efektami
- 27. Czy są jakieś dobre samouczki lub przykłady dotyczące korzystania z Java ObjectPool/pools?
- 28. Czy są gotowe biblioteki biblioteki memo .NET?
- 29. Eclipse CDT błędy dołączania biblioteki glib
- 30. Czy powinienem dołączyć wtyczkę "bez prefiksu" na mojej stronie internetowej?
Zminializowane źródło jQuery to 32kb.Nie uwzględniłbym, chyba że faktycznie go używasz. jQuery jest niesamowity, nie ma wady! –
Gdyby to było 1999, powiedziałbym tak. Ale w dzisiejszych czasach, gdzie większość ludzi ma lepszą funkcję niż dial-up, nie ... nie wpłynie to na wydajność, jeśli po prostu dołączymy inne pliki JS. – kevin628
Jest wadą jQuery ... będąc członkiem SO przez jakiś czas, widziałem dość przerażające zastosowania jQuery tylko dlatego, że czyni to bardzo łatwym. Łatwo jest tworzyć niepotrzebnie nieefektywne skrypty, szczególnie jeśli uczysz się jQuery przed javascript, co robi wielu początkujących. –