Util.JavaScriptEncode Method
The JavaScriptEncode method applies encoding rules to produce a
valid
string for JavaScript and for HTML code. If your report uses JavaScript code
with text from your genealogy tree, then you must use JavaScriptEncode,
otherwise the generated HTML code will be incorrect.
In JavaScript, the following characters must be encoded:
| Character |
Encoded Character |
\ {backslash} |
\\ |
" {double quote} |
\" |
' {apostrophe / single quote } |
\' |
| {tab} |
\t |
| {Returns} / {linefeed} |
\n |
To prevent the encoded string produce errors with HTML code, the JavaScriptEncode method
also encodes characters reserved for HTML. After all, most
JavaScript-encoded string are used in the context of HTML, and the
presence of a reserved HTML character is likely to prevent the browser
to render the page. As a result, the following table displays a
summary of the encoded characters by JavaScriptEncode.
| Character |
Encoded Character |
\ {backslash} |
\\ |
" {double quote} |
\x22 |
' {apostrophe / single quote } |
\x27 |
| {tab} |
\t |
| {Returns} / {linefeed} |
\n |
| {space} |
\x20 |
& |
\x26 |
< |
\x3C |
> |
\x3E |
HTML Encoding Issues:
Usage:
You should use the JavaScriptEncode method when you
need to insert text from the genealogy tree within JavaScript code. <body onLoad="javascript:top.document.title='@[Report.Write Util.JavaScriptEncode(i.Name)]@';">
JavaScript Obfuscation:
If you search the web for "JavaScript Encode", you will find many pages
describing various techniques for encrypting JavaScript code. The method JavaScriptEncode
is not about scrambling a script to prevent reverse engineering, but making sure
a string can be used safely with JavaScript and with HTML.
See Also:
FormatString /w {&j}
encoding
HtmlEncode
|