codez Posted April 1, 2010 Report Share Posted April 1, 2010 Gribās izveidot javascript-ā smukus html templeitus, bet javascript neļauj rakstīt stringu vairākās rindās, tipa tā: tpl=' <div> Hello world </div> '; tāpēc pagaidām jāsamierinās ar tpl='<div>'; tpl+='Hello world'; tpl+='</div>'; Vai kādam ir pieredze kā visērtāk javascriptā rakstīt šādu templeitus? Quote Link to comment Share on other sites More sharing options...
0 Aleksejs Posted April 1, 2010 Report Share Posted April 1, 2010 Vai šādi nestrādās? tpl='\ <div>\ Hello world\ </div>\ '; Quote Link to comment Share on other sites More sharing options...
0 2easy Posted April 1, 2010 Report Share Posted April 1, 2010 (edited) $sTpl = 'tavs krutais templeits '; echo '<script type="text/javascript">var sTpl = "' . str_replace(array('\\', '"', "'", "\r", "\n"), array('\\\\', '\"', "\'", '', ''), $sTpl) . '";</script>'; ja datus neveido ar php, tad var darīt tā, kā Aleksejs parādīja ;) http://www.codehouse.com/javascript/tips/string_multiline/ Edited April 1, 2010 by 2easy Quote Link to comment Share on other sites More sharing options...
0 codez Posted April 1, 2010 Author Report Share Posted April 1, 2010 (edited) Aleksej, strādā, nemaz nezināju šādu, laikam noderēs. 2easy, šoreiz js failus neģenrēju php, tāpēc vajag, lai normāli var rakstīt ar teksta redaktoru. Un kā saprast to, ka js tam nav domāts? Izmantojot šādu pieeju, jāsūta mazāk datu, jo daļa lapas satura tiek uzģenerēta javascriptiski, kas tiek kešots. Edited April 1, 2010 by codez Quote Link to comment Share on other sites More sharing options...
0 Aleksejs Posted April 1, 2010 Report Share Posted April 1, 2010 Vakar vienā no daudzajiem resursiem gan lasīju, ka tā ir tāda "grey" fīča - visi pārlūki to supportē, taču iekš ECMA par tādas atbalstu nekas neesot teikts. Quote Link to comment Share on other sites More sharing options...
0 2easy Posted April 1, 2010 Report Share Posted April 1, 2010 (edited) labi, codez, ņemu savus vārdus atpakaļ, jo var būt pure js applikācijas, kur multi line strings ir ērts. tb tā var darīt, bet tā tik bieži nedara. kr4 tam parādās jēga tikai heavy js applikācijās. "parasti" js atslogo no liekām darbībām un liek vnk uzsetot no php/ajax saņemtos datus (tipa lai nekaitinātu useri, kura cpu slodze var iebraukt vairākos desmitos procentu :P) un arī ar ajax saņemtos datus pēc tam nokešo, pieglabājot kkādā savā globālā cache objektā tā ka ar performanci viss ir kārtībā ;) Edited April 1, 2010 by 2easy Quote Link to comment Share on other sites More sharing options...
0 codez Posted April 1, 2010 Author Report Share Posted April 1, 2010 (edited) Ja jāuzseto vairākas vērtības, tad s='\ <div>'+v1+'</div>\ <div>'+v2+'</div>\ <div>'+v3+'</div>\ <div>'+v4+'</div>\ <div>'+v5+'</div>\ '; $('#container').html(s); IMHO būs ātrāks nekā, it sevišķi, ja vērtības sniedzās vairākos desmitos, tad jūtami ātrāks. $('#v1').html(v1); $('#v2').html(v2); $('#v3').html(v3); $('#v4').html(v4); $('#v5').html(v5); pie tam šijā gadījumā pati html struktūra kaut kur vēl jāuzģenerē vai jātsūta kopa ar lapu sākumā. Edited April 1, 2010 by codez Quote Link to comment Share on other sites More sharing options...
0 codez Posted April 1, 2010 Author Report Share Posted April 1, 2010 un arī ar ajax saņemtos datus pēc tam nokešo, pieglabājot kkādā savā globālā cache objektā tā ka ar performanci viss ir kārtībā ;) Šeit es vairāk runāju par variantu, kad lapā ir kaut kāda kopēja funkcionalitāte un GUI, kura arī jāattēlo un lietotājs iet no vienas lapas sadaļas uz citu, taču šis GUI tiek attēlots javascriptiski un jāielādē tikai pirmoreiz, pēc tam jau viņš ir js nokešotajā failā, kamēr nekādu globālu cache objektu šādi nepārnest starp lapām. Vēl jau protams pastāv iespēja taisīt template html failus, kurus dinamiski lādē pie konkrētā templeita vajadzības un kuri arī kešojas, bet, ja templeitiņi ir daudz un mazi, tad vienalga lietotājam ar tukšu kešu nākas sākumā salādēt daudz sīku failiņu. Quote Link to comment Share on other sites More sharing options...
0 2easy Posted April 1, 2010 Report Share Posted April 1, 2010 tu jau teksta redaktorā vari rakstīt parastu html, kuru pēc tam izlaič caur kkādu php/exe un uzģenerē js, saliekot katru rindiņu tpl += "..."; Quote Link to comment Share on other sites More sharing options...
0 codez Posted April 1, 2010 Author Report Share Posted April 1, 2010 Neērti, jo kods jau visu laiku jāraksta, jātestē, jālabo. Quote Link to comment Share on other sites More sharing options...
0 2easy Posted April 1, 2010 Report Share Posted April 1, 2010 (edited) kamēr nekādu globālu cache objektu šādi nepārnest starp lapām. labrīt!!! ajax applikācijas ielādējas vnreiz, un tad katru extra lapu ar background requestu (neko nepārlādējot) pieliek klāt, parāda un nokešo. tā ka nākamreiz uzejot uz šī linka http://domain/#/par-mums vsp nevajag nekādu background requestu, bet uzreiz ņem datus no globālā cache objekta. to uzkodēt ir 3x rindiņas... man ir viena puspabeigta lapa (var droši nekritizēt, tur drīz būs daudz rewrite + optimizācijas. tipa pašreizējais ir tikai draft), kur tā jau notiek http://jaunmartini.lv pirmais requests ir ar ajax, pēc tam no cache Edited April 1, 2010 by 2easy Quote Link to comment Share on other sites More sharing options...
0 codez Posted April 1, 2010 Author Report Share Posted April 1, 2010 Pag, pag, dinamsikās lapās saturs ir mainīgs, to nevar tā vienkārši ņemt un kešot, kamēr template ir nemainīga un tās kešošana uzlapo performanci. Quote Link to comment Share on other sites More sharing options...
0 2easy Posted April 1, 2010 Report Share Posted April 1, 2010 (edited) "dinamiskas" lapas tāpat kešo taču ar ļoti īsu timeout: ~1 minūte (varbūt mazāk, varbūt vairāk) savukārt uz servera tās kešo ilgāk: līdz tuvākajām izmaiņām (insert/update) tā ka nemaz tik dinamiskas tās dinamiskās lapas nav. tb nav obligāti vnm viss jātaisa superdinamisks. servera cpu arī dažu sekunžu atpūta ir milzīgi garš brīvlaiks :)) Edited April 1, 2010 by 2easy Quote Link to comment Share on other sites More sharing options...
0 codez Posted April 1, 2010 Author Report Share Posted April 1, 2010 "dinamiskas" lapas tāpat kešo taču ar ļoti īsu timeout: ~1 minūte (varbūt mazāk, varbūt vairāk) Camoon, neviens taču nekešo tādas lietas, kā inboxa saturu, aicinājumu draudzēties, utt. Tās ir lietas, kurām jāatjaunojas uzreiz, tiklīdz jūzeris otrā galā pieprasa. Quote Link to comment Share on other sites More sharing options...
0 2easy Posted April 1, 2010 Report Share Posted April 1, 2010 april april :D:D:D Quote Link to comment Share on other sites More sharing options...
Question
codez
Gribās izveidot javascript-ā smukus html templeitus, bet javascript neļauj rakstīt stringu vairākās rindās, tipa tā:
tāpēc pagaidām jāsamierinās ar
Vai kādam ir pieredze kā visērtāk javascriptā rakstīt šādu templeitus?
Link to comment
Share on other sites
14 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.