用vue js添加外部脚本的Adobe analytics。

问题描述 投票:0回答:1

我正在努力将adobe analytics外部脚本添加到我的Vue js项目中。客户使用了Adobe analytics,我正在努力将它添加到项目中,而不引起项目的抱怨。

adobe的外部脚本看起来像下面这样。

//assets.adobedtm.com/file.min.js with async

然后要求你在结尾的body标签前添加以下内容。

<script type="text/javascript">_satellite.pageBottom();</script>

当项目启动时,它在控制台抱怨说$没有被定义,因为当我启动项目时,$是在webpack中定义的,我猜想它没有找到别名。

这就是错误。

VM29714:3 Uncaught ReferenceError: $ is not defined

然后再往下,它抱怨说它不知道什么是_satellite。

login:54 Uncaught ReferenceError: _satellite is not defined

我只需要将脚本和卫星close添加到项目中,其他的只要添加就可以了。

我试过在运行时将脚本注入到头部标签中,但这也不奏效。

vue.js adobe analytics adobe-analytics
1个回答
0
投票

如果你正在实施Adobe DTM,你 不能 动态注入头脚本。它必须直接放在页面上 async或deferred属性。

如果你正在实现Adobe Launch,你可以动态地、异步地注入头脚本。如果你这样做,你就会 包括页脚(_satellite.pageBottom())代码。

你的脚本例子并不明确,但你的脚本中的 .min 部分意味着您正在使用Adobe Launch。

VM29714:3 Uncaught ReferenceError: $ is not defined

这与Adobe DTM或Launch都没有直接关系。您可能在DTM或Launch界面中部署了一些其他脚本或代码块,这些脚本或代码块引用了 $但这是一个单独的问题,需要解决。是的,根据js控制台,它可能来自DTM或Launch脚本,但请记住,DTMLaunch是一个标签管理器。它托管和部署其他标签脚本。因此,你需要做一些调查,看看哪个标签脚本来自哪个Rule引用了它。从查看堆栈跟踪开始,找出它的来源。

© www.soinside.com 2019 - 2024. All rights reserved.