如何访问脚本标签中的角度变量
Posted
技术标签:
【中文标题】如何访问脚本标签中的角度变量【英文标题】:How to access the angular variable in script tag 【发布时间】:2019-01-20 13:03:41 【问题描述】:如何在脚本标签中访问角度变量跟踪ID(UA-123XXXXXX-1)
<app-root></app-root>
<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', 'https://www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-123XXXXXX-1', 'auto');// add your tracking ID here.
ga('send', 'pageview');
</script>
【问题讨论】:
你想做什么,我不明白。您是否正在尝试将谷歌分析添加到您的 Angular 应用程序中?如果是这样,你不要在那里添加角度参考。您添加的脚本很好。其余代码应该在您的引导组件中。应用组件 @TaranjitKang ,我想从角度设置这个 UA-123XXXXXX-1 变量 Angular 4+ using Google Analytics的可能重复 【参考方案1】:如果你想从 Angular 中完成,那么你需要从 Angular 中完成所有事情。
// ga.ts
declare const ga: any;
export function startAnalytics(token)
(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', 'https://www.google-analytics.com/analytics.js', 'ga');
ga('create', token, 'auto');
ga('send', 'pageview');
// whatever.ts
import startAnalytics from './ga.ts';
// here e.g. retrieving your token from backend or whatsoever work
// you want to be done before
startAnalytics('whatever token you want');
实际上,我不太确定 ga('send', 'pageview');
是您在 SPA 中想要的东西,但这超出了您的问题范围。
【讨论】:
非常感谢,只需稍微修改这一行i[r].l = 1 * new Date();
就会在 src/app/ga.ts(9,29) 中抛出错误 ERROR: error TS2363: The right-hand side of an算术运算必须是 'any'、'number' 或枚举类型。以上是关于如何访问脚本标签中的角度变量的主要内容,如果未能解决你的问题,请参考以下文章