为什么这个javascript输出使用unescape和document.write?缓存破坏?

为什么这个javascript输出使用unescape和document.write?缓存破坏?,javascript,google-analytics,Javascript,Google Analytics,可能重复: var gaJsHost=((“https:==document.location.protocol)?”https://ssl." : "http://www."); write(unescape(“%3Cscript src=”+gaJsHost+“google analytics.com/ga.js”type='text/javascript'%3E%3C/script%3E”); 如果ga.js文件发生更改,是否会导致浏览器缓存出现任何潜在问题?或者它总是提供新文件吗?

可能重复:


var gaJsHost=((“https:==document.location.protocol)?”https://ssl." : "http://www.");
write(unescape(“%3Cscript src=”+gaJsHost+“google analytics.com/ga.js”type='text/javascript'%3E%3C/script%3E”);

如果ga.js文件发生更改,是否会导致浏览器缓存出现任何潜在问题?或者它总是提供新文件吗?

它是否提供新文件取决于服务器设置

至于为什么它会动态写入脚本标记,这是因为在安全页面(https页面)上,脚本来自安全源

这意味着代码将在XML/XHTML和HTML中工作,而不必与CDATA混淆

见:

投票以重复方式结束

<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>