gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 09:18:51 24 4
gpt4 key购买 nike

我遇到了 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com