2016-04-18 7 views
9

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 &lt; 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.

+1

'' non è corretto. '' I tag sono vuoti e non possono avere tag di chiusura. – Pointy

+0

@Pointy Grazie, risolto. – Michael

+0

@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

risposta

0

Il primo esempio è elencato

<div id="hlogo"> <a href="/">Stack Overflow</a>ABC</div>

non funziona correttamente in quanto lo slash intorno alla ABC stanno causando abbellire a leggerlo come un'espressione regolare.

Nell'esempio del wrapping, penso che ci sia un problema perché hai un apostrofo nella parola I'm. L'ho tirato fuori e abbellito ho fatto un po 'di movimento in giro dopo. Hai mai provato repl.it? È gratuito e ha un pulsante più carino e ho scoperto che funziona davvero bene.