为什么 Piwik 在所有其他标签之前插入脚本标签?

Why does Piwik insert the script tag before all others?

我注意到 Piwik 跟踪代码在 <head> 中的第一个脚本标签之前插入了脚本标签:

var d=document,
    g=d.createElement('script'),
    s=d.getElementsByTagName('script')[0];
...
s.parentNode.insertBefore(g,s);

这有什么原因吗?我可以将它插入 <head> 的末尾甚至正文中吗?

是的,您可以将其插入任何位置。当一个脚本做这样的事情时,它被认为是一件好事。它将把它放在与页面上第一个脚本相同的位置,这大概是页面作者希望放置他的脚本的位置。如果第一个脚本在 <head><body> 中,那么它就会放在那里。

没有真正的原因,而且脚本本身也没有真正的好处。它正在加载外部资源这一事实意味着它将在 之后 页面完成加载并执行页面中硬编码的脚本(由于 JS single-threaded性质以及加载这样的脚本将导致其以 async 方式运行的事实)。

基本上你可以让它加载到任何你想要的地方,但大概它不会给你带来好处,页面加载速度,或者脚本本身。