What is the advantage of using unescape on document.write to load Javascript?
@mike
The unescape()
function is a JavaScript function that can be used to decode a string that has been encoded using the escape()
function. The escape()
function encodes a string by replacing certain characters with their ASCII hexadecimal equivalent, which can be useful when working with URLs or when encoding special characters that may cause problems if they are not properly encoded.
When it comes to loading JavaScript code using do***ent.write
, using unescape()
to decode the code can be useful because it allows you to include special characters, such as quotes or angle brackets, in the code without causing errors. For example, if you wanted to include a string with a quote character inside a do***ent.write
statement, you could encode the string using escape()
, and then use unescape()
to decode it when the code is written to the do***ent:
1
|
do***ent.write(unescape("%3Cscript%3Ealert(%27Hello,%20World!%27)%3C/script%3E")); |
In this example, the code inside the script
tag has been encoded using escape()
, and then decoded using unescape()
before being written to the do***ent. This allows the code to include special characters without causing errors.
However, it's worth noting that using do***ent.write
to load JavaScript code is generally not recommended, as it can cause problems with the order in which scripts are loaded and executed, and can also cause issues with caching and performance. It's usually better to use a more modern approach, such as using createElement
to create script tags, or using a JavaScript module loader like RequireJS or Webpack.