Miks avaneb iga leht laoarvestuse poolel väga aeglaselt?

3. märts 2022


Üldiselt võib laoarvestuse poolel aeglust põhjustada erinevad probleemid. Kui te ei ole rahul laoarvestuse operatiivsusega, siis soovitame teil ühendust võtta meie klienditoega. Klienditugi edastab probleemi vajadusel arendusosakonnale, ja need probleemid saavad tihti lahenduse.

Siiski on üks konkreetne stsenaarium, mida oleme mitmeid kordi juhtumas näinud. Selle probleemi saavad lahendada ka konto kasutajad ise. Seetõttu oleme loonud antud artikli, lootes, et see võib tuua kiiremad lahendused.

Probleemid

Siin kirjeldatud probleem võib teie kontot mõjutada, kui:

1. Kõik lehed laoarvestuse poolel on ühtlaselt ja pidevalt aeglased (erinevalt ühes kindlas moodulis esinevast aeglusest). Näiteks: kõikide lehtede laadimine võtab 10 sekundit aega.
2. Tihti ilmub lehekülje üleval olev menüüriba koheselt, aga ülejäänud lehe laadimine võtab aega.
3. Või – leht ilmub, kuid brauseri vahekaardil olev „spinner” jätkab endiselt pöörlemist.
4. Näib, et brauser ootab saiti nimega „localhost” või „127.0.0.1”:

 

 

Kui need ei ole probleemid, mis teil ilmnevad, soovitame teil siiski Erply kliendituge probleemist teavitada.

Lahendus

1. Kui teil on konto üldseadistuste haldamise õigused, avage Seaded -> Üldseadistused. Leidke lehelt link pealkirjaga „Redigeeri pluginaid” ja klõpsake sellele.
2. Avaneb leht suure tekstikastiga. See on mõeldud „pluginate” lisamiseks laoarvestuse poolele: tekstilõigud, mis muudavad laoarvestuse käitumist. Neid pluginaid võis teile pakkuda Erply või need võivad olla teie enda arendajate kirjutatud.
3. Vaadake tekstikasti sisu ja otsige koodi, kus on kirjas „localhost” või „127.0.0.1”.
4. Kui te leiate sellise koodi, eemaldage vastav koodiplokk või paluge kellelgi see eemaldada. Siin on üks näide, kuidas see välja näeb:

$.ajax({
    url: 'http://localhost:9000/main.js',                     // <------- see here
    type: 'GET',
    timeout: 3000,
    dataType: 'script',
    success: () => console.log('Script was loaded...'),
    error: () => console.error('Ooops. Something went wrong'),
});

Sel konkreetsel juhul tuleb kogu kujutatud plokk (8 rida) eemaldada.

Selgitus

Selline kood on lisatud arendaja poolt, kes pluginat kirjutab. Arvuti terminoloogias viitavad „localhost” ja „127.0.0.1” inimese enda arvutile. Mugavuse huvides võib arendaja soovida vältida korduvat kopeerimist-kleepimist ja selle asemel panna Erply laoarvestuse faili enda arvutist laadima.

See kood ei tööta kellegi teise jaoks peale arendaja (kellelgi teisel pole ega peakski olema sama faili enda arvutis) ja põhjustab ainult viivitust, mil veebibrauser ootab olematu allika laadimist.

Mida peaksin arendajana selle asemel tegema?

Lihtsaim lahendus on lasta koodil laadida ainult konkreetse kasutaja jaoks:

if (userID === 42) {
    // Development code goes here
}

Pluginate variatsioone selgitatakse detailsemalt siin.