.html () metodo jQuery bizzare bug - risolve lo spazio vuoto localmente, ma non sulla produzione
-
02-07-2019 - |
Domanda
Sto eseguendo un semplice comando jquery:
element.html (" & amp; nbsp; & amp; nbsp; & amp; nbsp; & amp; nbsp; & amp; nbsp; & amp; nbsp; & amp; nbsp; & amp; nbsp; & amp; nbsp; & amp; nbsp; ");
utilizzando il metodo attributi / html: http://docs.jquery.com/Attributes/html
Funziona sul mio server del motore di app locale, ma non funziona quando spingo sul server di Google. L'elemento si svuota, ma non si riempie di spazi.
Quindi, invece di " "
(6 spazi) è solo " "
.
Ancora una volta, questo è in esecuzione su App Engine, ma non credo che dovrebbe importare ...
Soluzione
Potresti provare a generare lo spazio durante il runtime, quindi non verrà tagliato o qualsiasi cosa accada durante il trasporto:
element.html(String.fromCharCode(32));
Altri suggerimenti
Questa potrebbe non essere una risposta diretta al tuo problema, ma perché vuoi persino mettere un mucchio di spazi? Probabilmente puoi ottenere lo stesso risultato semplicemente cambiando padding-left
o text-indent
di quell'elemento.
element.css("textIndent", "3em");
L'uso di un mucchio di & amp; nbsp;
s è un modo molto complicato di fare rientro.
Il tuo jQuery dovrebbe apparire così:
$('element').html(' ');
... dove ' & amp; nbsp;
' è uguale a una volta lo spazio.
(con qualsiasi spazio tu voglia, ovviamente)
Hai provato a usare & amp; nbsp;
invece di spazi? Il metodo html ()
pompa semplicemente la stringa nel innerHTML degli elementi.
Esiste la possibilità che il codice venga minimizzato come parte del processo di distribuzione in App Engine?
Non mi aspetto che nessuna stringa di spazi bianchi venga mantenuta come scritta, forse potresti effettivamente sfuggire allo spazio bianco e forzare qualsiasi minificazione a lasciarlo:
Esempio:
element.html('\ \ \ \ \ \ \ \ \ \ \ \ ');