我正在努力将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
我只需要将脚本和附属文件添加到项目中,其余的一旦添加就可以使用。
我曾尝试通过在运行时将脚本注入head标记中来添加脚本,但这也不起作用。
答案 0 :(得分:0)
如果要实现Adobe DTM,则不能动态注入标题脚本。它必须直接放置在页面上,没有,没有异步或延迟的属性。
如果要实现Adobe Launch,则可以动态和异步注入标头脚本。如果执行此操作,则不包括页脚(_satellite.pageBottom()
)代码。
您的脚本示例不是明确的,但是.min
部分表示您正在使用Adobe Launch。
VM29714:3 Uncaught ReferenceError: $ is not defined
这与Adobe DTM或启动都不直接相关。您可能在DTM或Launch接口中部署了其他引用$
的脚本或代码块,但这是一个单独的问题需要解决。是的,根据js控制台,它可能来自DTM或启动脚本,但是请记住DTM / Launch是标签管理器。它托管并部署其他标签/脚本。因此,您需要进行一些挖掘,以查看哪个Rule / Rule引用了哪个标记/脚本。首先查看堆栈跟踪以找出其来源。