«

»

Aug 30

Print this Post

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>

by Jeremy Petersen

Permanent link to this article: http://ensina.me/coldfusion/como-posso-ter-certeza-de-uma-string-e-segura-para-uso-com-javascript/

Leave a Reply