2009-01-16 9 views
4

J'ai un long extrait de HTML Je veux que la variable javascript soit égale et pour la maintenabilité Je veux la stocker avec newlines réelles au lieu d'ajouter \ n (ou comme HTML en omettant les caractères de nouvelle ligne). En Python, je ferais quelque chose comme:Multiline JavaScript Text

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

Et cela fonctionnerait parfaitement. Cependant, je n'ai pas vu un moyen de le faire en JavaScript. Quelques informations supplémentaires: le javascript est dans un fichier .js externe et l'extrait est vraiment énorme (~ 6kb).

Répondre

9

Mettez un \ à la fin de chaque ligne. Vous pouvez également le stocker dans un div avec display: none, puis utiliser .html() pour le récupérer.

+0

est ici exaple d'utiliser \ et le stockage dans div http://forums.devx.com/showthread.php?t=154826 –

3

JavaScript ne prend pas en charge les chaînes multilignes de la même manière.

Vous pouvez utiliser \ pour échapper une nouvelle ligne pour votre script, mais ceci est seulement pour la lecture de développeur car il ne restera pas avec la chaîne (et la plupart des validateurs vont lancer des erreurs pour cela). Pour conserver une nouvelle ligne avec la chaîne, vous devez toujours utiliser \n.

Si vous voulez la lisibilité, vous pouvez les combiner:

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

Cela fonctionne dans Firefox, IE, Safari et 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> 
+1

peut-être que ce sera le cas, mais ce n'est pas un code valide ... – Sk8erPeter