Domanda

Ho un lungo frammento di HTML. Voglio che una variabile javascript sia uguale e per manutenibilità voglio archiviarla con nuove righe effettive invece di aggiungere \ n (o poiché è HTML che omette solo i caratteri di nuova riga). In Python farei qualcosa del tipo:

largeString = """Hello
This is long!"""

E funzionerebbe perfettamente. Tuttavia, non ho visto un modo per farlo in JavaScript.

Alcune informazioni aggiuntive: il javascript si trova in un file .js esterno e lo snippet è davvero piuttosto grande (~ 6kb).

È stato utile?

Soluzione

Metti un \ alla fine di ogni riga. In alternativa, salvalo in un div con display: none e poi usa .html () per recuperarlo

Altri suggerimenti

JavaScript non supporta le stringhe multilinea allo stesso modo.

Puoi usare \ per sfuggire a una nuova riga per il tuo script, ma questo è solo per la lettura degli sviluppatori in quanto non rimarrà con la stringa (e la maggior parte dei validatori genererà errori per esso). Per mantenere una nuova riga con la stringa, ti verrà comunque richiesto di usare \ n .

Se vuoi la leggibilità, puoi combinarli:

var largeString = '"Hello\n\
This is long!"';

Funzionerà con Firefox, IE, Safari e Chrome:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<div class="crazy_idea" largeString='Hello
This is long!'
></div>
<script type="text/javascript">
    alert($(".crazy_idea").attr("largeString"));
</script>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top