• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

blokujacy renderowanie kod JS

Object Storage Arubacloud
0 głosów
363 wizyt
pytanie zadane 6 września 2017 w JavaScript przez kamil29 Obywatel (1,230 p.)
Witam! Mam pytanie odnosnie tego blokowania renderowania.Czy w takim przypadku wystarczy dodac atrybut defer/async,a jesli tak to ktory z nich?I mam jeszcze pytanie do jakiego typu plikow JS mozna to stosowac?

Z gory dziekuje za pomoc

1 odpowiedź

+1 głos
odpowiedź 6 września 2017 przez Comandeer Guru (601,110 p.)

To wszystko zależy, co to za skrypt…

  • Jeśli to ważny skrypt, który musi być załadowany jak najszybciej, to wrzucenie go w head wraz z atrybutem [async] może podziałać.
  • Tak samo podziała, gdy będą to skrypty statystyk lub inne zewnętrzne.
  • Niemniej skrypty, w których ważna jest kolejność wykonywania, a które muszą mieć wczytaną zawartość strony, warto umieścić w head z atrybutem [defer]. Alternatywnie można je wstawić na końcu body.
  • Dodatkowo wszystkie skrypty można pchać przy pomocy HTTP/2 push.
  • No i jest jeszcze link[rel=preload][as=script], co też może pomóc.
  • Czy wspominałem już, że są jeszcze asynchroniczne moduły (script[type=module])?
komentarz 6 września 2017 przez kamil29 Obywatel (1,230 p.)
a czy umieszczenie atrybutow async/defer tam gdzie jest to zbedne moze cos pogorszyc?
komentarz 6 września 2017 przez kamil29 Obywatel (1,230 p.)
co do asynchronicznych modulow to nie mam pojecia o co chodzi
komentarz 7 września 2017 przez Comandeer Guru (601,110 p.)

a czy umieszczenie atrybutow async/defer tam gdzie jest to zbedne moze cos pogorszyc?

Oczywiście, choćby dlatego, że zmienia cały sposób, w jaki skrypty są wczytywane.

Normalny skrypt przeglądarka wczytuje od razu i wstrzymuje do czasu wczytania generowanie reszty strony. Skrypt z atrybutem [async] wczytuje w tle (czyli generuje stronę dalej) i w chwili, gdy go wczyta, od razu wykonuje. Z kolei skrypty z atrybutem [defer] przeglądarka również wczytuje w tle, ale wykonuje dopiero po wczytaniu strony i w kolejności, w jakiej umieszczone zostały w kodzie (przy [async] kolejność nie jest zachowana).

co do asynchronicznych modulow to nie mam pojecia o co chodzi

https://jakearchibald.com/2017/es-modules-in-browsers/

komentarz 7 września 2017 przez kamil29 Obywatel (1,230 p.)
czyli jak postepowac w przypadku skryptow typu: modernizr.js, jquery,a jak w przypadku skryptow odpowiadajacych za wyglad strony/aplikacji?
komentarz 7 września 2017 przez Comandeer Guru (601,110 p.)

Modernizr.js IMO nadaje się na [async], względnie [defer]. W przypadku jQuery i skryptów odpowiadających za wygląd aplikacji – zależy. Można zarówno [defer], jak i umieścić na końcu body. Co jest szybsze, to już trzeba by zrobić testy empiryczne.

komentarz 7 września 2017 przez kamil29 Obywatel (1,230 p.)
ok dziękuję za pomoc.Poczytam jeszcze w Internecie na temat tych asynchronciznych modulow,akurat strona pod linkiem,ktory wyslales nie dziala
komentarz 7 września 2017 przez Comandeer Guru (601,110 p.)
Działa, po prostu edytor na forum dokleja czasami niepotrzebną spację na końcu…
komentarz 7 września 2017 przez kamil29 Obywatel (1,230 p.)
przepraszam nawet nie pomyslalem,ale bylo juz pozno

Podobne pytania

0 głosów
1 odpowiedź 831 wizyt
0 głosów
1 odpowiedź 266 wizyt
+1 głos
1 odpowiedź 119 wizyt
pytanie zadane 14 marca 2021 w JavaScript przez Bakkit Dyskutant (7,600 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...