Svetainės greitis ir asinchroninis „Javascript“

asinchroninis

Nors daug kuriu, savęs nepriskiriu prie tikrų kūrėjų. Aš galiu programuoti ir perkelti daiktus puslapyje ir priversti juos veikti. Tikras kūrėjas supranta, kaip sukurti kodą, kad jį būtų galima keisti masteliu, neužimti daug išteklių, greitai įkelti, vėliau lengvai modifikuoti ir vis tiek dirbti.

Sunkiausia vieta, į kurią patenka rinkodaros specialistai, yra abu labai greita interneto svetainė ir vis tiek įtraukite integracijas ir socialinius elementus, kurie gali sukurti priklausomybę nuo to, kaip greitai įkeliama jūsų svetainė. Vienas tokių pavyzdžių yra socialiniai mygtukai. „Martech“ turime socialinius mygtukus kiekviename svetainės puslapyje. Taigi ... jei „Facebook“ ištekliai vieną dieną kraunasi lėtai, tai lėtina mūsų svetainę. Tada prie to pridėkite „Twitter“, „Pinterest“, buferį ir kt., O jūsų svetainės greito įkelimo galimybės sumažėja beveik nieko.

Tai vadinama sinchroniniu pakrovimu. Turite baigti įkelti vieną elementą prieš įkeliate kitą elementą. Jei galite elementus įkelti asinchroniškai, galite įkelti elementus nepriklausydami vienas nuo kito. Galite iš esmės pagerinti savo svetainės greitį, asinchroniškai įkeldami elementus. Problema yra ta, kad šių kompanijų jums pateikiami scenarijai, esantys iš karto, nėra niekada optimizuoti paleisti asinchroniškai.
asinchroninis

Tai, kas daro įtaką jūsų puslapio spartai, galite atlikti atlikdami „Pingdom“ testą:
„pingdom“ puslapio apkrova

Asinchroninis „Javascript“ leidžia rašyti kodą, kuris liepia įkelti elementus po puslapis visiškai įkeltas. Jokių priklausomybių! Taigi, jūsų puslapis įkeliamas ir jį užbaigus, pradedamas scenarijus, kuris įkelia kitus elementus - šiuo atveju mūsų socialinius mygtukus. Jei esate kūrėjas, galite perskaityti puikų straipsnį, Tinginys Įkeliamas asinchroninis „Javascript“.

Štai kaip tai padaryti tinkamai, iš Emilio Stenströmo fragmentas:

(funkcija () {funkcija async_load () {var s = document.createElement ('scenarijus'); s.type = 'text / javascript'; s.async = true; s.src = 'http://buttondomain.com /script.js '; var x = document.getElementsByTagName (' script ') [0]; x.parentNode.insertBefore (s, x);} if (window.attachEvent) window.attachEvent (' onload ', async_load); else window.addEventListener ('įkelti', async_load, false);}) ();

Rezultatas yra tas, kad jei trečiųjų šalių integracija neveikia arba veikia lėtai, tai niekada neturi įtakos pagrindinio puslapio turinio rodymui. Jei peržiūrėsite mūsų puslapio šaltinį, pamatysite, kad naudodamasis šia technika įkeliu visus papildomus socialinius scenarijus. Procesas pagerino mūsų svetainės greičio sekundes - ir neužspringsta kraunant. Mes nepervertėme visų savo išorinių priklausomybių Asinchroninis „Javascript“, bet mes tai padarysime.

Ką manote?

Ši svetainė naudoja "Akismet", kad sumažintų šlamštą. Sužinokite, kaip apdorojamas jūsų komentaras.