我正在努力将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添加到项目中,其他的只要添加就可以了。
我试过在运行时将脚本注入到头部标签中,但这也不奏效。
如果你正在实施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引用了它。从查看堆栈跟踪开始,找出它的来源。