Jump to content
php.lv forumi

ielu mode


Recommended Posts

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)

Link to comment
Share on other sites

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 :)

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Man visvairāk no funkcionalitātes nepatīk tas, ka ir atņemta vidējā poga, ar ko atvērt linku jaunā logā bez iešanas caur labās pogas popup menu.

 

Un FF2 JS nefunkcionē, jo: "Error: too much recursion; Source File: http://stylewish.lv/design/min/?g=js; Line: 1", LOL. :D

 

PS: Saturs arī interesants.

Link to comment
Share on other sites

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!

Link to comment
Share on other sites

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...