ng if和谷歌标签管理器脚本
ng-if and google tag manager script
我的问题是关于Google Tag Manager,并且只有在满足某些条件的情况下才运行脚本。
这是我的代码:
<!-- Google Tag Manager -->
<div ng-if="status === 'true'">
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-****"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','*****');</script>
</div>
<!-- End Google Tag Manager -->
这段代码不起作用,但我想知道如果满足某些条件,如何使用ng-if
来运行这段代码。或者我应该采取另一种方法?
我会检查status
是否真的是字符串类型,因为您使用的是===
。请尝试==
或use === true
。
您使用ng-if
作为指令是正确的。
我假设脚本在加载Angular之前启动。当status
为true
时,可能需要将脚本放入控制器或指令中并激发它。
如果您可以从Angular外部的Javascript访问status
(例如全局变量),那么您可以接受TagManager脚本,如下所示:
<div>
<script>
if (status == true) {
// Google Tag Manager IIFE goes here.
}
</script>
</div>
相关文章:
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 如何访问声音管理器2创建的声音对象
- JS编译器/包管理器,用于版本控制
- 加载两个脚本块(使用lab.js作为加载管理器)
- Ajax脚本管理器阻止了jquery
- ASP.Net 将脚本添加到脚本管理器时,更新进度中断
- 为什么谷歌跟踪代码管理器使用IFrame而不是脚本DOM元素
- 谷歌标签管理器添加&instrad of just&转换为脚本src
- ng if和谷歌标签管理器脚本
- ASP.NET脚本管理器在执行代码后运行
- 带有时间选择器的脚本管理器
- 从UserControl的资源文件运行一个jQuery脚本到client的脚本管理器
- 在脚本中使用PHP发送数据到Google标签管理器
- 在vb.net中使用脚本管理器动态追加时间
- 谷歌标签管理器脚本在头won'不允许在href中进行更改
- 如何修改jquery照片管理器脚本,以使用更多的框
- 您可以配置Adobe动态标记管理器(DTM),以便在设置数据元素之前加载脚本吗?
- 谷歌应用程序脚本事件管理器
- 在Microsoft AJAX Partial Postback上向脚本管理器添加脚本引用(JavaScript)
- 响应.重定向消除了脚本管理器操作