NSM*_*ing 27 google-analytics node.js pug
我想跟踪我网站的用户.由于我没有旧的HTML文件,我应该将给定的代码调整为jade语法,还是可以保持脚本不变并以某种方式包含它?
如果我需要将其转换为jade语法,可以通过某些工具自动生成.
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXX-X', 'domain.com');
ga('send', 'pageview');
</script>
Run Code Online (Sandbox Code Playgroud)
BRo*_*ers 53
而不是让它寻找另一个代码文件并加载它.内联(像Trevor建议的更好).
为了实现这一点,你必须使用script.
标签....不仅仅是script
见下文:
script.
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-11111111-1', 'yourdomain.com');
ga('send', 'pageview');
Run Code Online (Sandbox Code Playgroud)
确保间距等实际上是从您的东西中缩进一个标签
NSM*_*ing 12
解决方案很简单.
第1步:我创建了一个名为"analytics.js"的文件,并将代码放在其中的脚本标记之间.不需要转换为jade语法.
第2步:我从jade文件中引用了脚本
script(src='/js/analytics.js')
Run Code Online (Sandbox Code Playgroud)
如前所述,建议您在文件中直接插入GA片段,因为GA片段实际上会调用另一个文件(www.google-analytics.com/analytics.js),因此获取另一个js有点浪费文件,然后将获取Google的文件。
但是,如果您确实希望(并且应该)保持layout.jade整洁,则可以将BRogers编写的代码段(以“ script。”开头的代码段)放在单独的文件中,将其命名为googleAnalytics.jade,并在您的layout.jade中包括:
include partials/googleAnalytics
Run Code Online (Sandbox Code Playgroud)
(当然,局部视图是我对视图进行文件夹的方式,这取决于您)
这意味着GA代码段将包含在服务器上的页面中,为您节省了额外的GET,但仍使您的layout.jade保持整洁。
2019 GTag 更新
传统的 GA 脚本被这个新的 GTAG 脚本取代
script(async='', src='https://www.googletagmanager.com/gtag/js?id=UA-11111111-1')
script.
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-11111111-1');
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8131 次 |
最近记录: |