刚下载我的
JavaScript训练轮.
为什么Google选择在下面的第1部分中展开document.write行?
他们为什么不这样写呢?某些较旧的浏览器兼容性可能需要unescape吗?
document.write('<script src="' + gaJsHost + 'google-analytics.com/ga.js" type="text/javascript"></script>');
作为参考,整个Google Analytics跟踪代码如下所示:
第1部分:
<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>
第2部分:
<script type="text/javascript"> try { var pageTracker = _gat._getTracker("UA-0000000-0"); pageTracker._trackPageview(); } catch(err){} </script>
我理解代码的其余部分,只是对unescape部分感到好奇.
编辑
底线是,unescape是必需的.投票结束这个问题因为它是重复的(见答案标记正确).
解决方法
It means the code will work in XML / XHTML and HTML without having to mess with CDATA