Կայքի արագությունը և Asynchronous Javascript- ը

asynchronous

Չնայած ես շատ զարգացում եմ կատարում, բայց ես ինձ չեմ դասակարգում որպես իսկական մշակողի: Ես կարող եմ ծրագրավորել և տեղափոխել իրեր էջի վրա և այն գործի դնել: Իրական մշակողը հասկանում է, թե ինչպես կարելի է մշակել ծածկագիրը, որպեսզի այն կարողանա մասշտաբավորվել, շատ ռեսուրսներ չխլել, արագ բեռնել, հետագայում հեշտությամբ փոփոխվել և դեռ աշխատել:

Կոշտ կետը, որը դնում են շուկայավարողները, երկուսն էլ ունենա շատ արագ կայք և դեռ ներառում են ինտեգրումներ և սոցիալական տարրեր, որոնք կարող են կախվածություն ստեղծել, թե որքան արագ է բեռնվելու ձեր կայքը: Նման օրինակներից է սոցիալական կոճակները, Martech- ում մենք ունենք կայքի յուրաքանչյուր էջի սոցիալական կոճակները: Այսպիսով, եթե Facebook- ի ռեսուրսները մի օր դանդաղ են բեռնվում, դա դանդաղեցնում է մեր կայքը: Դրանից հետո դրան ավելացրեք Twitter, Pinterest, Buffer և այլն, և ձեր կայքի արագ բեռնման հավանականությունը գրեթե չի հասցվում:

Դա հայտնի է որպես սինքրոն բեռնում: Դուք պետք է ավարտեք մեկ տարրի բեռնումը մինչեւ Դուք բեռնում եք հաջորդ տարրը: Եթե ​​ունակ եք ասինխրոն կերպով բեռնել իրերը, ապա կարող եք բեռնել իրեր ՝ առանց միմյանց կախվածության: Կարող եք կտրուկ բարելավել ձեր կայքի արագությունը ՝ տարրերը համաժամանակորեն բեռնելով: Խնդիրն այն է, որ տուփից դուրս սցենարները, որոնք այս ընկերությունները տրամադրում են ձեզ, գրեթե երբեք օպտիմիզացված չեն ասինխրոն աշխատելու համար:
asynchronous

Դուք կարող եք տեսնել, թե ինչն է ազդում ձեր էջի արագության վրա ՝ փորձարկելով Pingdom- ը.
pingdom էջի բեռը

Ասինքրոն Javascript թույլ է տալիս գրել կոդ, որն ասում է տարրերին բեռնել երբ էջը ամբողջությամբ բեռնված է: Ոչ մի կախվածություն: Այսպիսով, ձեր էջը բեռնվում է, և երբ այն ավարտվում է, սկրիպտ է նախաձեռնում, որը բեռնում է մյուս տարրերը, այս դեպքում ՝ մեր սոցիալական կոճակները: Եթե ​​մշակող եք, կարող եք կարդալ հիանալի հոդված, Lazy Loading Asynchronous Javascript.

Ահա մի հատված, թե ինչպես դա ճիշտ անել Emil Stenström- ից.

(ֆունկցիա () {ֆունկցիա async_load () {var s = document.createElement ('սցենար'); s.type = 'տեքստ / javascript'; s.async = ճիշտ; s.src = 'http://buttondomain.com /script.js '; var x = belge else windows.addEventListener ('բեռ', async_load, կեղծ);}) ();

Արդյունքն այն է, որ եթե այս երրորդ կողմի ինտեգրացիաները դանդաղ են կամ դանդաղ են ընթանում, դա երբեք չի ազդի ձեր հիմնական էջի բովանդակության հայտնվելու վրա: Եթե ​​դիտեք մեր էջի աղբյուրը, կտեսնեք, որ ես բեռնում եմ բոլոր լրացուցիչ սոցիալական գրերը ՝ օգտագործելով այս տեխնիկան: Այդ գործընթացը բարելավեց մեր կայքի արագությունը վայրկյաններով - և բեռի ընթացքում չի խեղդվում: Մենք չենք փոխել մեր բոլոր արտաքին կախվածությունները Ասինքրոն Javascript, բայց մենք կանենք:

Ինչ եք կարծում?

Այս կայքը օգտագործում է Akismet- ը սպամի նվազեցման համար: Իմացեք, թե ինչպես է ձեր տվյալները մշակվում.