Reteja Rapido kaj Nesinkrona Ĝavaskripto

nesinkrona

Dum mi multe disvolvas, mi ne klasifikas min kiel veran programiston. Mi povas programi kaj movi aĵojn sur paĝo kaj igi ĝin funkcii. Vera programisto komprenas kiel disvolvi la kodon por ke ĝi estu skalebla, ne okupu multajn rimedojn, rapide ŝarĝu, facile modifiĝu poste kaj ankoraŭ funkciu.

La malfacila loko, kiun enmetas komercistoj, estas ke ambaŭ havas tre rapida retejo kaj ankoraŭ inkluzivas integriĝojn kaj sociajn elementojn, kiuj povas krei dependecojn de kiom rapide via retejo ŝarĝos. Unu tia ekzemplo estas sociaj butonoj. Ĉe Martech, ni havas sociajn butonojn sur ĉiu paĝo de la retejo. Do ... se Facebook-rimedoj ŝarĝas malrapide unu tagon, ĝi malrapidigas nian retejon. Poste aldonu Twitter, Pinterest, Buffer, ktp al tio kaj la ŝancoj de via retejo rapide ŝarĝi reduktiĝas al preskaŭ nenio.

Tio nomiĝas sinkrona ŝarĝo. Vi devas fini ŝarĝi unu elementon antaŭ vi ŝarĝas la sekvan elementon. Se vi povas ŝargi erojn nesinkrone, vi povas ŝargi erojn sen dependeco unu de la alia. Vi povas draste plibonigi la rapidon de via retejo ŝarĝante elementojn nesinkrone. La problemo estas, ke la tujaj skriptoj, kiujn ĉi tiuj kompanioj provizas al vi, preskaŭ neniam estas optimumigitaj por funkcii nesinkronaj.
nesinkrona

Vi povas vidi, kio efikas al via paĝa rapideco, farante teston sur Pingdom:
pingdoma paĝoŝarĝo

Nesinkrona Ĝavaskripto permesas skribi kodon, kiu diras elementojn ŝarĝi post la paĝo estas tute ŝarĝita. Neniuj dependecoj! Do via paĝo ŝarĝas kaj post kiam ĝi finiĝas, komenciĝas skripto, kiu ŝarĝas la aliajn elementojn - ĉi-kaze niajn sociajn butonojn. Se vi estas programisto, vi povas legi bonegan artikolon, Maldiligenta Ŝarĝado Asinkrona Ĝavaskripto.

Jen fragmento pri kiel fari ĝin ĝuste de Emil Stenström:

(function () {function async_load () {var s = document.createElement ('skripto'); s.type = 'teksto / javaskripto'; s.async = vera; s.src = 'http://buttondomain.com /script.js '; var x = document.getElementsByTagName (' skripto ') [0]; x.parentNode.insertBefore (s, x);} if (window.attachEvent) window.attachEvent (' onload ', async_load); else window.addEventListener ('ŝarĝo', async_load, falsa);}) ();

La rezulto estas se ĉi tiuj triaj integriĝoj estas malrapidaj aŭ malrapidaj, ĝi neniam influas la aperon de via kerna paĝa enhavo. Se vi vidas la fonton de nia paĝo, vi vidos, ke mi ŝarĝas ĉiujn aldonajn sociajn skriptojn per ĉi tiu tekniko. La procezo plibonigis la rapidajn sekundojn de nia retejo - kaj ne sufokiĝas dum la ŝarĝo. Ni ne konvertis ĉiujn niajn eksterajn dependecojn al Nesinkrona Ĝavaskripto, sed ni faros.

Kion vi pensas?

Ĉi tiu retejo uzas Akismeton por redukti spamon. Lernu, kiel via komento datiĝas.