Jump to content
php.lv forumi

Recommended Posts

Posted

Pavisam nesen saražoju ielu modes lapu. Varbūt saturs nebūs jums interesants :). Bet ceru, ka interesēs izstrāde.

Tātad lapa pilnībā darbojas uz ajax pieprasījumiem. Ja uzspiežam uz kādas saites, tad ar javascriptu tiek nolasīts href atribūts, pielikts klāt ?j parametrs (kas nozīmē, ka tiek pieprasīti json dati). Tātad piemēram http://stylewish.lv/55-casual/?j , šeit var redzēt saturu, kur ir "template" (šablons), un "context" (atbild par šablona aizpildīšanu ar datiem). Pēc šī pieprasījuma <div id="dyn-cont"></div> blokā tiek ievietots jauns šablons ar apstrādātu saturu. Šabloni priekš javascripta izskatās sekojoši http://stylewish.lv/design/js/d/template.js. Viss būtu vienkārši, bet tieši tāds pats šablonizators strādā arī iekš PHP (servera pusē). Ja es uztaisu jaunu šablonu un aizpildu to ar kaut kādiem datiem, tad man tas ir jādara vienā vietā (bet strādās AJAX versijā un parastajā).

Tādai pieejai ir vairākas priekšrocības:

1) Ja lietotājam ir JS atbalsts, tad tiek dzenāti ļoti maz datu (ja pamanījāt, tad nav html tagu). Šabloni tiek apstrādāti ar JavaScript - tātad lietotāja resursi.

2) Tas pilnībā neskar lietotājus bez JS atbalsta.

3) Izstrāde notiek, kā parasti tikai PHP pusē.

 

Tā kā dati tiek dzenāti caur javascriptu. Tad pastāv arī iespējas kešot datus iekš javascripta. Forši vai nē? :) Atšķirībā no kešošanas uz servera, tad klienta pusē nav vajadzīgi lieki pieprasījumi (dārgais laiks), dati ir uzreiz gatavi. Protams pastāv jautājums cik daudz lietotājs spiež uz vienas un tās pašas saites, ja šis skaitlis ir mazs, tad no tādas kešošanas dižas jēgas nebūs.

 

Ja runājot par pašu template engine, tad tas darbojas līdzīgi http://beebole.com/pure/. Manā versijā ir viss daudz vienkāršāks js (mootools plugins)

Posted

Back poga nebūtu tā lēnā. Ja attaisa firebug, tad var redzēt, ka atbilde atnāk ~ 0.1sek. Problēma ir lielu datu parsēšanā iekš JavaScript šablonizatora. Gandrīz katrā lapā tiek parsēts viens šablons priekš 10 foto, tur arī rodas tā aizture. Šeit vienkārši vajag optimizēt JavaScript daļu :)

Posted

vajag uztaisīt tā, lai javascript tikai nomaina html. tad viss arī iekļausies tajā pašā 0.1 sec

kr4 vairāk vajag izdarīt uz servera un tur nokešot, tā lai visur visu pēc iespējas padod gatavu

Posted

Pie mūsdienu neta ātrumiem varbūt vairs nav vērts parāk iespringt uz datoju apjoma kā to pašu izpilda...

Ja pāris KB cena ir pāris sekundes, tad nu toč nav vērts...

Posted

Es nemaz neiespringstu uz datu apjoma. Šeit vairāk jau darbojas loģika, kāpēc man ir jāparsē šablons uz servera, ja to var darīt uz klienta pārlūka. Man patīk atslogot serveri, pie tam tik elegantā veidā. Priekš kam, tad tantes pērk tos dual core :) Nu un protams, loģiski, ja lietotājs salādē šablonus un tikai tad staigā pa lapu, saņemot tikai nepieciešamos datus.

Posted (edited)

toč, turot nospiestu ctrl, ar klikšķi nevar atvērt linku jaunā tabā!

wtf??? kas tā par usability cūcību?

Edited by 2easy
Posted

Nevienam browser funkcionalitāti atņemt nevēlējos :)

Biju piemirsis, ka ctrl+click ir arī jauns tabs, tāpēc tas jau ir labots.

Kavacky laikam skatījās caur chrome, tur arī izlaboju vidējo pogu. Vēlams turpmāk pievienot pārlūku+OS, lai var operatīvi konstatēt kļūdas.

 

Par tām metodēm ar jaunu tabu (vidējo pogu, ctrl+click), var arī pārmest pārlūkam (nevis man :)). Piemēram FF, uz vidēja clicka, JS vispār nestrādā, jo tiek izsaukta browser fukcionalitāte - jaunas tabs. Dīvaini ir ka uz ctrl+click tiek izsaukts javascripts, un tikai tad nostrādā browser funkcionalitāte.

Ar chrome viss iet caur JS.

Un piemēram tādam pārlūkam kā Opera, nav tāda ctrl+click - jaunais tabs.

Katrs pārlūks darbojas pa savam, to gribēju teikt :)

 

Paldies par kļūdām!

Posted (edited)

Paldies par kļūdu labojumiem! ^^

 

 

hmm, tomēr ne līdz galam :P

http://stylewish.lv/labakie/nedelas/#_/jaunakie/

pēc ctrl+clk navigācija sākas no cita līmeņa :D:D:D

Edited by 2easy
Posted

Jā, tā tas ir.

Novācu šo arī, bet cita iemesla deļ. Lietotāji bieži pārsūta saites, un tava dotā ir tieši tas nesmuks piemērs. Bet no navigācijas viedokļa nekas nemainās.

Posted

Tāpēc, ka tajā anchorā var glabāt vairākus mainīgos piemēram _(.+) ir adrese, vēl vari piekabināt kaut kādus mainīgos (kam citam, nevis adresei)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...