- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Adobe Analytics 和 DTM 的新手。
在我的网站上,一个异步 API 在页面上动态创建一个 div。这个 DIV 有一个特殊的 CSS 类,假设为“wantedClass”。
我想创建 2 条规则:
在此触发器上,Adobe Analytics 中触发了 event1。
我选择了 onLoad,因为我读到这是其他选项中的最后一个,我想确保 API 异步完成创建 DIV,以便触发此事件。
在这个触发器上,一个 event2 被触发。
我测试时发生的事情是:
我做错了什么?
如有任何帮助,我们将不胜感激;
最佳答案
<强>1。页面加载,没有触发 event1
异步调用本质上可以在 DOM 就绪或窗口加载 (onLoad) 之后发生,因此 onLoad
不能保证在进行某些 API(异步)ajax 调用并返回某些内容后触发。
理想情况下,您应该在 API 的 ajax 成功回调函数中触发一些东西。您可以创建并触发一个自定义事件,DTM 可以在基于事件的规则 中监听该事件。注意:如果你走这条路,请确保你在 document.body
或后代上创建/触发; DTM 不会监听 document
本身的自定义事件。此外,由于我看到您在屏幕截图中使用 jQuery 语法,如果您走这条路,还要注意 jQuery 自定义事件功能与原生 javascript 自定义事件不同。因此,例如,如果您执行 $( document.body ).trigger( "someEvent")
,这不会推送到正在收听的内容
document.body.addEventListener('someEvent', function (e) {/* ... */}, false);
DTM 使用以上内容来监听自定义事件。所以 TL;DR - 如果您打算使用 DTM 的内置自定义事件监听器,请不要使用 jQuery 语法来创建或广播自定义事件。
或者,在 API 的 ajax 回调函数中,您可以执行 _satellite.track('dc_rule_value_here');
并使用 'dc_rule_value_here' 创建一个Direct Call 规则字符串条件。
如果您不能向 API ajax 回调函数中添加一些内容,下一个最好的办法是创建一个自定义代码类型的数据元素,使用您在您的屏幕截图条件(如果找到 .wantedClass
,则返回 true 或 false)。然后,创建数据元素已更改 类型的基于事件的规则,条件反射(reflect)您从数据元素返回的内容。这并不理想,因为此规则类型的工作原理是在页面 View 期间每 1 秒轮询一次数据元素。这在宏伟的计划中并不是什么大不了的事情,但它不如其他方法有效(如果你 0make it a practice to do this for a lot of rules,那么它可能会成为一个问题)。请注意,您还应该将数据元素烘焙为仅返回 true 一次,这样它就不会在找到 EBR 后每 1 秒触发一次 EBR(DTM 没有原生的“仅触发一次”类型配置)。
<强>2。单击 DIV,没有触发 event2,但触发了 event1。
不确定这个。从表面上看,这听起来像是 DTM 规则本身在起作用,但设置 AA s.events
时存在问题。可能是您只是打错了字并将 event1
放入规则中,但我确定您已经检查过了……对吗?
可能是您有其他代码(例如 s.doPlugins
回调中的代码)覆盖了它。或者可能完全是其他规则触发,而不是上面的规则。
如果您提供有关实际设置事件的方式/位置的更多详细信息(包括您可能设置这两个事件的其他地方),可能会提供进一步的帮助,但这听起来有点像我必须在页面上的操作以真正到达页面底部:/
关于css - 在异步 API 之后在 DTM 中触发的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57956711/
我想在我的应用程序中使用 Primefaces 和 Myfaces。但是有一个异常(exception)。 00:31:01,292 SEVERE [org.primefaces.config.Con
我在这个问题上花了两天时间!没有任何 Java 经验。想请教各位专家和乐于助人的人!我已经在谷歌上搜索了很多,但到目前为止未能解决问题。请求帮助!我需要知道的是如何解决这个问题。 我正在尝试将 Web
I see the below error randomly (not every time).我随机(不是每次)看到下面的错误。 Error while converting jaxb ob
我正在寻找一种动态更新 DTM 中预定义数据元素的方法。一旦页面加载并且数据元素被初始化,就无法更新它们,_sattelite.setVar() 不起作用。我可以即时创建数据元素,但它不会在页面之间持
我正在努力触发自定义事件(来自自定义代码)以及页面加载事件。例如当我的主页加载时,我想触发事件 1,如果我的数据元素满足特定条件,它应该触发事件 2。因此,在调试器中的调用中,我应该看到 event1
我有一组文本包含在一个列表中,我从一个 csv 文件加载 texts=['这是 text1', '这将是 text2', '这里我们有 text3'] 我想通过使用词干词 创建一个文档术语矩阵。我还阻
我使用 quanteda 来构建文档术语矩阵: library(quanteda) mytext = "This is my old text" dtm <- dfm(mytext, tolower=
在我们的网站上,我们有可以分配标签的页面,但我在弄清楚如何使用 Adobe DTM/Analytics 处理此问题时遇到了问题。每个页面可以在数组中捕获 1 到 n 个标签。我可以在开发者控制台中
我遇到了 DTM 和引用 js 对象的时间问题。我注意到,有时,DTM 无法访问 Web 应用程序(ASP.net MVC 框架)创建的 js 对象。 js 对象是在 DTM 加载任何 js 之前创建
我们有一个包含多种产品的网站。我们的目标页面仅包含一种特定产品。现在我们需要一个页面加载规则,仅当网页或源代码中存在某些文本时才会触发。 文本- SSO 或 SSU 或 SSI。 任何人都可以提供 J
我的页面 JavaScript 中有一个 HTML 元素,当页面上存在广告拦截器时,该元素返回 true;当页面上没有广告拦截器时,该元素返回“False”。 我是 DTM 新手,有一个关于在页面加载
我需要使用 Adobe DTM 捕获单击的链接以及单击该链接的页面,然后将其传递到 evar 和 sprop。我不需要页面浏览量,因此使用 s.tl()。 我使用基于事件的规则,其中“click”
我想改造以下 DTM pd.DataFrame({"ID": [1,2,3,4,5], "t1": [0,0,1,1,0], "t2": [1,
我在网络选项卡中遇到 adobe 图像请求问题,我可以在控制台中正确查看结果,但在图像请求中我看不到 Evar55 当前值。实际上存在错误分析跟踪问题- Evar55 Evar55 应该捕获用户在搜索
我认为这很简单,但我不知道如何使用 DTM 来检测选择的 onChange?如果我在事件类型中选择“更改”,我会得到一个下拉列表来选择一个不是我想要的数据元素。那么我如何检测页面上选择的变化呢?我不关
我正在使用非顺序 HTML Javascript/第三方标签,我正在使用以下脚本将数据传递给第 3 方标签。 x = _satellite.getVar('Sub-Total'); 我遇到的
我有 2 个 id 1.show_ocancel_popup 和 2.cancel_order_button,第一个用于单击取消按钮时发出的通知,第二个用于确认按钮,我正在触发一条规则,该规则将在第一
我正在尝试使用 CSS 选择器链使用以下代码中的数据元素获取路由号,但我不知道为什么我无法使用 CSS 选择器链获取文本(路由号)以下代码: Accounts Being ReviewedEasy C
我有一个使用默认值为“_Not_Set_”的自定义脚本的数据元素。数据元素中的代码是: var elemNavValue = _satellite.readCookie('navElemName');
我不清楚动态标记管理器(DTM)如何执行Adobe Analytics页面加载规则,尤其是何时触发Adobe Analytics请求(s.t函数)。 Adobe提供了此图(https://market
我是一名优秀的程序员,十分优秀!