Como posso ter certeza de uma string é segura para uso com JavaScript?
Se voce estiver populando uma variável JavaScript dinamicamente, voce pode ver que seu código quebra com erros "unterminated string constant" ou mensagens similar. Isto provavelmente é o caso de suas variáveis JavaScript contenham caracteres que são considerados especiais para JavaScript. Voce precisará "escape" esses caracteres especiais para que o JavaScript possa processá-los.
Alguns caracteres comuns que voce deve ficar cauteloso incluem: newlines, carriage returns, e citações (quotes). Para que o JavaScript possa lidar com esses caracteres, eles necessitam ser escapados, ou convertidos para alternativas seguras em JavaScript. JavaScript usa o caracter "\" (backslash) para escapar a maioria dos caracteres especiais.
O exemplo de código a seguir foi extraído do CF DOcs e mostra como usar a função jSStringFormat() do ColdFusion para tornar uma string segura em JavaScript:
<cfset stringValue = "An example string value with a tab chr(9), a newline (chr10) and some ""quoted"" 'text'">
<p>This is the string we have created:<br>
<cfoutput>#stringValue#</cfoutput>
</p>
<cfset jsStringValue = jSStringFormat(#stringValue#)>
<!----- Generate an alert from the JavaScript string jsStringValue. ---->
<script>
s = "<cfoutput>#jsStringValue#</cfoutput>";
alert(s);
</script>
0 responses to “Como posso ter certeza de uma string é segura para uso com JavaScript?”