Ho visto diverse domande su come formattare il codice HTML e javascript. Una risposta comune sembra essere che jsbeautify (e GitHub page for jsbeautify.js) è una buona soluzione.come configurare le impostazioni di jsbeautifier per abbellire effettivamente il mio codice HTML/Javascript
Tuttavia, non riesco a ottenere correttamente il formato del mio codice, e mi chiedo se ci sono alcuni parametri predefiniti che devono essere modificati, o se sto semplicemente fraintendendo cosa dovrebbe fare l'abbellimento. Quello che mi aspetto è che ogni tag annidato sarà su una nuova riga rientrata al livello appropriato. Ma invece quello che vedo (e questo non sembra essere unico per jsbeautifier) è che a volte diversi tag ottengono una stringa insieme sulla stessa riga, e le direttive per spezzare la linea vengono ignorate.
Esempio 1:
Ho preso questo esempio direttamente da this question.
<div id="hlogo">
<a href="/">Stack Overflow</a>ABC</div>
Quando vado a jsbeautifer.org e inserire il codice di cui sopra e clicca su "Abbellire JavaScript o HTML" non fa nulla! Mi aspetto che l'output assomigli a questo:
<div id="hlogo">
<a href="/">Stack Overflow</a>ABC
</div>
Ecco un altro esempio. Ho selezionato "Wrap lines near 80 characters".
<!--Meta 6,1--><span><div>Just some sample text here which is fairly long, maybe about 100 characters or so, I'm not really counting.<input id="sdlkjhfkjhjkjhfjdfjkshdfkjshk"/><script type="text/javascript">;
</script></div></span>
L'output di questo è di seguito. Nota che non c'è nessun involucro in corso.
<!--Meta 6,1--><span><div>Just some sample text here which is fairly long, maybe about 100 characters or so, I'm not really counting.<input id="sdlkjhfkjhjkjhfjdfjkshdfkjshk"/><script type="text/javascript">;
<
/script></div > < /span>
Perché non è <span>
, <div>
, e preferibilmente <input>
su righe separate? E perché l'apertura <
su una linea separata? Mi aspettavo qualcosa del genere:
<!--Meta 6,1-->
<span>
<div>
Just some sample text here which is fairly long, maybe about 100
characters or so, I'm not really counting.
<input id="sdlkjhfkjhjkjhfjdfjkshdfkjshk"/>
<script type="text/javascript">;
</script>
</div >
</span>
C'è qualche parametro che devo passare per fare in modo che funzioni? Ho esaminato la documentazione per questo ma sto arrivando vuoto.
'' non è corretto. '' I tag sono vuoti e non possono avere tag di chiusura. – Pointy
@Pointy Grazie, risolto. – Michael
@Pointy È interessante notare che in realtà è possibile aggiungere un tag secondario a un elemento di input in javascript, il che restituisce innerHTML restituendo esattamente qualcosa del tipo: "". – Michael