javascript - Adobe DTM 和引用对象的时间

标签 javascript dynamic adobe adobe-analytics

我遇到了 DTM 和引用 js 对象的时间问题。我注意到,有时,DTM 无法访问 Web 应用程序(ASP.net MVC 框架)创建的 js 对象。 js 对象是在 DTM 加载任何 js 之前创建的,但我开始必须在一些地方使用“settimeouts”以确保我拥有该对象的上下文,但这现在变得越来越难以管理,因为我必须在多个地点执行此操作。

我想知道是否有人对如何延迟 DTM 文件的加载有任何建议,直到我知道我有权访问该对象?我有一个加载适当 DTM 文件的 Bootstrap 文件。我正在考虑可能将延迟放入引导加载程序文件中,但我仍然不喜欢该解决方案,因为我还担心页面的加载时间。有想法吗?

-谢谢!

最佳答案

你是对的。这可能很棘手。本质上,这是 DTM 页面加载和代码执行之间的竞争。

如果这是您需要在页面加载时控制的内容,一种解决方案是在页面加载时“中止”原始 AA 请求,然后当您的对象存在时,调用将发送数据的直接调用规则。

我可能会尝试这样的事情:

//Page Load Rule - Adobe Analytics Custom Code Section

s.abort = true // cancel the initial image request on page load

//Check for ASP Object 
//Can be done within AA custom code or a custom JS tag

if (MY_OBJ_EXISTS) {

_satellite.track('MY_RULE_TO_SEND_DATA_TO_AA')

}

如果您有需要在将数据发送到 AA 之前加载的 ajax,则可以应用相同的概念。您可以中止初始调用、监听回调并通过直接调用规则发送数据。

希望这有帮助。

关于javascript - Adobe DTM 和引用对象的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31899491/

相关文章:

javascript - 将一个 div 类放在 three.js 场景之上以创建一个 gui

javascript - 列出 .prototype 的属性?

Android App ID前缀问题

java - 如何在java中检查pdf文件是否可编辑( protected )

java - 寻找同时搜索多个在线 PDF 的解决方案

javascript - 将执行从js文件中的一个单击事件传递到另一个js文件中的另一个函数

javascript - 使用 ajax 和 PHP 根据第一个选择框填充第二个选择框

templates - Kotlin 中的动态评估模板字符串

css - Less - 动态样式表语言?

c++ - 对动态数组使用重载的 << 运算符