В чем преимущество использования unescape на document.write для загрузки javascript?

Код, который вы должны добавить для отслеживания веб-страницы с помощью Google Analytics, выглядит так:

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-XXXXX");
pageTracker._trackPageview();
} catch(err) {}</script>

В чем преимущество выполнения этой строки:

document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

по сравнению с этой строкой:

document.write("<script src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'><\/script>");

Я написал код, который делает что-то подобное (загрузите javascript "через" document write), но он не использует unescape, и мне интересно, следует ли мне следовать примеру Google Analytics.

Ответ 1

Это означает, что код будет работать в XML/XHTML и HTML без необходимости связываться с CDATA

Ответ 2

Хорошо, одно преимущество заключается в том, что вам не нужно беспокоиться о том, что кавычки внутри загружаемого script мешают кавычки в script, которые выполняют загрузку (поскольку те, что загружены в script, могут сбежать).