Adobe DTM sequential JavaScript (onload) 在调试中运行但不实时
Adobe DTM sequential JavaScript (onload) runs in debug but not live
我在 Adobe DTM 中有一个自定义 JavaScript 跟踪标签,该标签设置为使用路径包含规则触发 Onload。我在 Chrome 中测试,标签代码在 Chrome 控制台中运行,没有错误。我满足了它开火的所有条件。
当 Adobe DTM 开关插件暂存设置设置为开启时,我收到了对跟踪域的网络请求,这是脚本的最终目标。规则已获批准,但如果我将暂存设置为关闭并重新加载页面,则不会发生任何事情。
我多次使用空缓存和硬重载并检查 _satellite.buildDate 和 _satellite.publishDate 是否都是最新的。我无法控制批准。
脚本本身正在创建一个 iframe。我在这里转述了核心部分
$("body").append("<div style='display: none;' id='theDiv'></div>")
var targetURL = window.location.protocol + "//anydomain.co.uk";
var frame = document.createElement('iframe');
frame.name = 'the_frame';
frame.src = targetURL;
$("#theDiv").append(frame);
有没有人以前见过或听说过这样的事情?暂存和实时处理 iframe 的方式有什么不同吗?
我知道对 jQuery 有依赖性,但我没有看到来自卫星的“$ is not defined”错误。
"Approving" 某物与 "Publishing" 某物不同。 DTM 在 "save" 和 "publish" 之间有一个额外的步骤,以提供更多 flexible/robust 的权限系统来进行和发布更改。对于只有 1 或 2 个人有权访问 DTM 的小型公司或个人(通常 每个人 都是管理员),这有点矫枉过正。
但这对于大公司来说通常是一笔不小的数目,因为很多人都具有 dtm 访问权限,在彼此很少或根本不了解的情况下做自己的事情。
一切都是为了控制有多少人或谁都可以将内容推送到您的站点。例如,对于大型公司而言,拥有一级开发团队来完成初始工作(工具设置、添加新标签等)的情况并不少见。甚至很多人或团队,每个人都可以访问 DTM。然后可能会有另一个(通常是单一的)团队负责批准更改(确保一切看起来合法,不会破坏网站上的其他东西等),然后可能会有更少的人(同样,通常是单一的团队或个人)有权实际扣动扳机并发布。
发布流程如何运作
当您第一次创建规则或工具时,或者当您修改或删除现有的 rule/tool 并保存它时,它会进入审批队列。此时,更改未发布。如果网站上有 DTM 暂存脚本标签,或者通过将生产脚本标签置于暂存模式(例如使用您正在使用的 DTM Switch 插件),您可以在您的网站上查看更改。
一旦您对更改感到满意,您可以转到批准队列(批准 选项卡并批准更改。这将推送更改(s) 到 Publish 队列。此时,更改仍未发布。因此,如果您正在使用生产 dtm 标签并且它不处于阶段模式 (例如,您关闭了 Switch),您将看不到更改。
要使用生产 dtm 标签(不是在阶段模式)查看实时站点上的更改,您必须转到发布队列,select 您要发布的项目,然后推送那里的发布按钮。
但听起来您的用户帐户(或组)没有发布权限,因此您需要请有发布权限的人为您做这件事。
我在 Adobe DTM 中有一个自定义 JavaScript 跟踪标签,该标签设置为使用路径包含规则触发 Onload。我在 Chrome 中测试,标签代码在 Chrome 控制台中运行,没有错误。我满足了它开火的所有条件。
当 Adobe DTM 开关插件暂存设置设置为开启时,我收到了对跟踪域的网络请求,这是脚本的最终目标。规则已获批准,但如果我将暂存设置为关闭并重新加载页面,则不会发生任何事情。
我多次使用空缓存和硬重载并检查 _satellite.buildDate 和 _satellite.publishDate 是否都是最新的。我无法控制批准。
脚本本身正在创建一个 iframe。我在这里转述了核心部分
$("body").append("<div style='display: none;' id='theDiv'></div>")
var targetURL = window.location.protocol + "//anydomain.co.uk";
var frame = document.createElement('iframe');
frame.name = 'the_frame';
frame.src = targetURL;
$("#theDiv").append(frame);
有没有人以前见过或听说过这样的事情?暂存和实时处理 iframe 的方式有什么不同吗? 我知道对 jQuery 有依赖性,但我没有看到来自卫星的“$ is not defined”错误。
"Approving" 某物与 "Publishing" 某物不同。 DTM 在 "save" 和 "publish" 之间有一个额外的步骤,以提供更多 flexible/robust 的权限系统来进行和发布更改。对于只有 1 或 2 个人有权访问 DTM 的小型公司或个人(通常 每个人 都是管理员),这有点矫枉过正。
但这对于大公司来说通常是一笔不小的数目,因为很多人都具有 dtm 访问权限,在彼此很少或根本不了解的情况下做自己的事情。
一切都是为了控制有多少人或谁都可以将内容推送到您的站点。例如,对于大型公司而言,拥有一级开发团队来完成初始工作(工具设置、添加新标签等)的情况并不少见。甚至很多人或团队,每个人都可以访问 DTM。然后可能会有另一个(通常是单一的)团队负责批准更改(确保一切看起来合法,不会破坏网站上的其他东西等),然后可能会有更少的人(同样,通常是单一的团队或个人)有权实际扣动扳机并发布。
发布流程如何运作
当您第一次创建规则或工具时,或者当您修改或删除现有的 rule/tool 并保存它时,它会进入审批队列。此时,更改未发布。如果网站上有 DTM 暂存脚本标签,或者通过将生产脚本标签置于暂存模式(例如使用您正在使用的 DTM Switch 插件),您可以在您的网站上查看更改。
一旦您对更改感到满意,您可以转到批准队列(批准 选项卡并批准更改。这将推送更改(s) 到 Publish 队列。此时,更改仍未发布。因此,如果您正在使用生产 dtm 标签并且它不处于阶段模式 (例如,您关闭了 Switch),您将看不到更改。
要使用生产 dtm 标签(不是在阶段模式)查看实时站点上的更改,您必须转到发布队列,select 您要发布的项目,然后推送那里的发布按钮。
但听起来您的用户帐户(或组)没有发布权限,因此您需要请有发布权限的人为您做这件事。