Un collega e io stavamo discutendo su come richiamare l'HTML all'interno del codice javascript. In particolare, in una situazione simile a questa:
new Element('div', {
html: '{long string of HTML goes here!}'
}.inject($('content'));
I frammenti brevi sembrano funzionare bene in questa situazione, ma cosa accadrebbe se facessimo eco a un ampio insieme di dati? La linea diventerebbe quindi molto lunga e difficile da eseguire il debug (perché chi scorre orizzontalmente?!)
Un problema sta anche nel fatto che oltre alla sua lunghezza, tutte le virgolette usate devono essere sfuggite, specialmente se il codice javascript viene echeggiato dal lato server, nel qual caso una delle virgolette sarebbe "usata" su ", di per sé.
Una soluzione sarebbe quella di spezzare la lunga fila di codice HTML:
new Element('div', {
html: '{long string of HTML goes here!}' +
'{some more HTML goes here}' +
'{and even more...}'
}.inject($('content'));
Un'altra soluzione fornita includeva un addlashes () 'd include sul lato server, che coinvolge un secondo file. Anche se suppongo che sia anche possibile definire tutto il codice HTML da includere in una variabile php ed echo quando è necessario:
<?php
$html = addslashes('{html content}');
?>
new Element('div', {
html: '<?=$html?>'
}.inject($('content'));
Quale metodo è il migliore in termini di leggibilità, efficienza e sicurezza del codice?