Institute of Computer Science
  1. Courses
  2. 2018/19 fall
  3. Web Application Development (LTAT.05.004)
ET
Log in

Web Application Development 2018/19 fall

  • Pealeht
  • Loengud
  • Praktikumid
  • Rühmad
  • Viited

Laadimisega viivitamine

Kiire internet ei ole jõudnud veel päris kõikjale ning paljud mobiiliseadmed kasutavad tihtipeale tagasihoidlikumat ühendust. Samuti on tänapäeva veebisüsteemides päris suuri infoüksusi, pilte, reklaame, sotsiaalseid nuppe (facebook, twitter), aeglasi andmebaasi päringuid jne, mille korraga laadimine võib kasutaja ära tüüdata.
Üheks lahenduseks on lehekülg sektsioneerida, nii et kasutaja saab varakult mingit osa juba näha. Tavaliselt on otstarbekas näidata esmalt kiirelt laaditavat teksti ja seejärel tuua kõrvale mingid pildid. Ka andmebaasist ei ole mõtet korraga laadida kõiki (> 100) otsingutulemusi, vaid mõistlik on päring tükeldada, näidata esimest 10 ja laadida tagaplaanil ülejäänud (> 90).
Näide (viide 1)
Selles näiteks laaditakse avatarid (kasutajate profiilipildid) hiljem kui kasutajate kommentaarid. See informatsioon ei ole tähtsuselt nii oluline kui kommentaari sisu, samas pildi laadimisaeg on oluliselt suurem (eriti kui neid pakub kolmas osapool). Seadmetes, kus javascript (sealhulgas jquery) on väljalülitatud, neid pilte ei näidata.
html:


jQuery:


See kood ootab kuni lehekülg (tekst) on laetud ja alles seejärel lisab pildi igale lingile atribuudiga data-gravatar-hash.
Et leheküljel jääks alguses ruumi piltidele tuleb eelnevalt ka css-is sellega arvestada. Näiteks nii:


Lahendusvõtte hindamine

Lahendusvõtte eest punktide saamiseks peab lehekülg visuaalselt toimima. Elemendid, mis laetakse hiljem peavad saabuma sujuvalt nii, et juba olemasolevad elemendid säilitavad oma asukoha. Seda võib teha automaatselt, võib tekitada nupu ("load more") või siis lisada uut sisu kui kasutaja kerib (scrollib) alla (näiteks amazon.com).

Viiteid

  • https://24ways.org/2010/speed-up-your-site-with-delayed-content
  • https://24ways.org/2011/conditional-loading-for-responsive-designs/
  • Institute of Computer Science
  • Faculty of Science and Technology
  • University of Tartu
In case of technical problems or questions write to:

Contact the course organizers with the organizational and course content questions.
The proprietary copyrights of educational materials belong to the University of Tartu. The use of educational materials is permitted for the purposes and under the conditions provided for in the copyright law for the free use of a work. When using educational materials, the user is obligated to give credit to the author of the educational materials.
The use of educational materials for other purposes is allowed only with the prior written consent of the University of Tartu.
Terms of use for the Courses environment