.html () méthode jQuery bizzare bug - résolu en espace vide localement, mais pas en production

StackOverflow https://stackoverflow.com/questions/147976

Question

Je fais une simple commande jquery:

element.html (& & amp; nbsp; & amp; nbsp; & amp; nbsp; & amp; nbsp; & amp; nbsp; & amp; nbsp; & amp; nbsp; & amp; nbsp; & amp; nbsp; & amp; nbsp; & amp; nbsp; & amp;; nbsp; ");

en utilisant la méthode attributs / html: http://docs.jquery.com/Attributes/html

Cela fonctionne sur le serveur de mon moteur d'application local, mais cela ne fonctionne pas une fois que j'applique au serveur Google. L'élément se vide, mais ne se remplit pas d'espaces.

Donc au lieu de " " (6 espaces) c'est juste " " .

Encore une fois, cela fonctionne sur App Engine, mais je ne pense pas que cela devrait compter ...

Était-ce utile?

La solution

Vous pouvez essayer de générer de l'espace au cours de l'exécution, afin de ne pas le réduire ou quoi que ce soit pendant le transport:

element.html(String.fromCharCode(32));

Autres conseils

Cela ne constitue peut-être pas une réponse directe à votre problème, mais pourquoi voulez-vous même créer autant d'espaces? Vous pouvez probablement obtenir le même résultat en modifiant simplement les éléments padding-left ou text-indent de cet élément.

element.css("textIndent", "3em");

L'utilisation d'un tas de & amp; nbsp; s est une manière très risquée de faire une indentation.

Votre jQuery devrait ressembler à ceci:

$('element').html('  ');

... où ' & amp; nbsp; ' est égal à une fois l'espace.

(avec le nombre d'espaces que vous voulez, bien sûr)

Avez-vous essayé d'utiliser & amp; nbsp; au lieu d'espaces? La méthode html () transfère simplement la chaîne dans le innerHTML des éléments.

Existe-t-il une possibilité que le code soit réduit au cours du processus de déploiement sur App Engine?

Je ne m'attendrais pas à ce qu'une chaîne d'espaces soit conservée telle qu'elle est écrite. Peut-être pourriez-vous réellement échapper à l'espace blanc et forcer toute minification à le quitter:

exemple:

element.html('\ \ \ \ \ \ \ \ \ \ \ \ ');
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top