gpt4 book ai didi

javascript - 使用 Angular 将 Google 分析 ID 插入到脚本中

转载 作者:行者123 更新时间:2023-12-03 06:43:37 25 4
gpt4 key购买 nike

我正在尝试将谷歌分析 ID 动态插入到脚本中。像这样的 {{configs[0].ga_id}} 存储 id 的地方。

<script>
google code....

ga('create', '{{configs[0].ga_id}}', 'auto');
</script>

这不起作用。我也尝试过所有这些,但都失败了。

'{configs[0].ga_id}', 
'configs[0].ga_id',
+ configs[0].ga_id +

有什么想法吗?

更新:根据 MarkoCen

我添加了这个指令,我的 html 看起来像这样。检查元素时,id 正确显示为“UA-XXXXXXXX-1”,但在指令的 console.log 中我看到了“{{configs[0].ga_id}}”

<google-analytics id="{{configs[0].ga_id}}"></google-analytics>

app.directive('googleAnalytics', function(){
return {
restrict: 'E',
replace: true,
template: function(elem, attr){
console.log(attr.id);
return "<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', '" + attr.id + "', 'auto');</script>"
}
}
})

最佳答案

因为 Google Analytics 不是 Angular 的一部分,并且模板语法无法在 <script> 中工作。标签,您应该创建一个指令来包装代码:

 angular.module('app').directive('googleAnalytics', function(){
return {
restrict: 'E',
replace: true,
template: function(){
var configs = [...]; //first get configs from somewhere...
return "<script>google code... ga('create', '" + configs[0].ga_id + "', 'auto');</script>"
}
}
})

然后你可以将此指令插入 <head>

<!DOCTYPE html>
<html ng-app="app">
<head>
<google-analytics></google-analytics>
</head>
</html>

关于javascript - 使用 Angular 将 Google 分析 ID 插入到脚本中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37842319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com