Adobe DTM和引用对象的时间

时间:2015-08-08 23:14:41

标签: javascript dynamic adobe adobe-analytics

我遇到了DTM的问题以及引用js对象的时机。我注意到DTM有时无法访问Web应用程序(ASP.net MVC框架)创建的js对象。 js对象是在DTM加载的任何j之前创建的,但我开始在几个点使用“settimeouts”以确保我有对象的上下文,但现在变得越来越难以管理,因为我不得不在许多地方这样做。

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

-Thanks!

1 个答案:

答案 0 :(得分:1)

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

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

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

//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,则可以应用相同的概念。您可以中止初始呼叫,收听回叫并通过直接呼叫规则发送数据。

希望这有帮助。