Jump to content
php.lv forumi
  • 0

js strings vairākās rindās


Question

Posted

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?

14 answers to this question

Recommended Posts

  • 0
Posted (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 by codez
  • 0
Posted

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.

  • 0
Posted (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 by 2easy
  • 0
Posted (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 by codez
  • 0
Posted

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.

  • 0
Posted

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 += "...";

  • 0
Posted (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 by 2easy
  • 0
Posted

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.

  • 0
Posted (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 by 2easy
  • 0
Posted

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

Join the conversation

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

Guest
Answer this question...

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