有关 Adobe Target at.js JavaScript 库每个版本中的更改的详细信息。
目标团队同时支持at.js 1。x 与 at.js 2.x 之间的映射。请升级到at.js的任一主要版本的最新更新,以确保您运行的是受支持的版本。
Adobe Experience Platform Launch是升级at.js的首选方法。扩展开发人员会不断为其扩展添加新功能,并经常修复错误。 这些更新将打包到扩展的新版本中,并作为升级在Launch目录中提供。 有关详细信息,请参阅*《Experience Platform Launch用户指南》*中的Extension Upgrade。
此版本的 at.js 是一个维护版本,它包括以下增强功能和修复:
targetPageParams
的问题。 targetPageParams
应仅包含在 pageLoad
请求中。(TNT-40247)此版本的at.js是维护版本,包括以下修复:
此版本的at.js是维护版本,包含以下修复:
此版本的at.js是维护版本,包含以下修复:
此版本的at.js是维护版本,包含以下修复:
此版本的 at.js 是一个维护版本,它包括以下增强功能和修复:
deviceIdLifetime
设置通过targetGlobalSettings可覆盖。 (TNT-36349)sendBeacon
调用的问题。 (TNT-36407,TNT-35990,TNT-36000)此版本的 at.js 是一个维护版本,它包括以下增强功能和修复:
targetGlobalSettings.cspScriptNonce
和targetGlobalSettings.cspStyleNonce
,以便at.js可以在已应用的优惠上设置相应的脚本和样式标记不可用。 有关详细信息,请参阅targetGlobalSettings。check
重命名为at_check
,以避免与客户实施发生冲突。此版本的 at.js 是一个维护版本,它包括以下增强功能和修复:
check
重命名为at_check
,以避免与客户实施发生冲突。此版本的at.js包含以下增强和修复:
修复了当页面元素中不存在Adobe Analytics代码时,点击跟踪不会报告Analytics中的目标转换(A4T)的问题。
在网页上同时使用Experience Cloud ID Service(ECID)v4.4和at.js 2.2时的性能得到改进。
以前,ECID在at.js获取体验之前发出了两次阻止调用。 这已降低为单个呼叫,这显着提高了性能。
修复了预取的视图处理不正确的问题,即默认优惠中的事件令牌未包括在发送的通知中。
将您的ECID Launch扩展升级到v4.4以利用此性能增强。
at.js版本2.2还提供一个名为serverState
的新设置。 当实现目标的混合集成时,此设置可用于优化页面性能。 混合集成意味着您在客户端同时使用at.js v2.2+和服务器端的投放 API或目标 SDK来提供体验。 serverState
赋予at.js v2.2+直接应用从服务器端获取的内容中获取的体验并作为所服务页面的一部分返回到客户端的功能。有关详细信息,请参阅targetGlobalSettings中的“serverState”。
此版本的at.js包含以下增强和修复:
将您的ECID Launch扩展升级到v4.4以利用此性能增强。
此版本的 at.js 是一个维护版本,它包括以下增强功能和修复:
(括号中的问题编号供 Adobe 内部使用。)
triggerView()
无法多次渲染选件的问题。(TNT-32780)triggerView()
存在的一个问题,以确保请求包含 Marketing Cloud ID (MCID) 信息。(TNT-32776)triggerView()
通知的问题。(TNT-32614)Navigator.sendBeacon()
API 发送交付请求的上下文中,信标标志现在被设置为“true”。(TNT-32683)mboxThirdPartyId
函数传递 targetPageParams
时出现的问题,该问题导致请求有效负载不存在于查询参数或请求有效负载中。(TNT-32613)此版本包括以下功能和增强功能:
Adobe 选择加入支持:通过 Adobe 选择加入,可轻松将 Adobe 解决方案与同意管理平台集成。有关 Adobe 选择加入的更多信息,请参阅隐私和《通用数据保护条例》(GDPR)。
符合行业标准 CSP:at.js 不再使用 eval() 执行 JavaScript。
客户端分析日志记录:无论是在客户端还是服务器端,均允许客户完全控制如何将分析数据发送到 Adobe Analytics
有关更多信息,请参阅“实施之前”**中的客户端分析日志记录。
发送通知:允许开发人员在通过代码而不是使用 applyOffer()
或 applyOffers()
呈现体验时发送通知。
有关更多信息,请参阅 adobe.target.sendNotifications(options)。
at.js 大小减少了约 24%:at.js 的大小减少了约 24%。较小的文件大小可提高页面加载性能并缩短在页面上下载 at.js 的时间。
此版本为维护版本,它包括以下增强功能和修复:
(括号中的问题编号供 Adobe 内部使用。)
这个版本属于维护版本,它包括以下修复:
(括号中的问题编号供 Adobe 内部使用。)
at.js 2.x 提供了丰富的功能集,使您的企业能够在下一代客户端技术上实现个性化。这个新版本着重升级了 at.js 以与单页应用程序 (SPA) 进行良性的交互。
以下是使用 at.js 2.x 的一些好处,这些好处在以前的版本中未提供:
at.js 2.x 引入了以下新函数:
以下函数在引入 at.js 2.x 后被弃用:
有关更多信息,请参阅从 at.js 1.x 升级到 at.js 2.x 和 at.js 函数。
如果您需要使用满足《通用数据保护条例》(GDPR) 要求的 Adobe 选择加入支持,则当前必须使用 at.js 1.7.0 或 at.js 2.1.0。
at.js 1.7.0 提供了 Adobe 选择加入支持。通过 Adobe 选择加入,可轻松将 Adobe 解决方案与同意管理平台集成。
有关 Adobe 选择加入的更多信息,请参阅隐私和通用数据保护条例 (GDPR)。
此版本还修复了 Target 可能使用来自重定向 URL 的参数覆盖重定向 URL 参数的问题。
如果您需要使用满足 GDPR 要求的 Adobe 选择加入支持,则当前必须使用 at.js 1.7.0 或 2.1.0。
有关所有版本的列表,请参阅 at.js 版本详细信息。
at.js 1.6.4 是一个维护版本,该版本解决了以下问题:
at.js 版本 1.6.3 包含以下修复和增强功能:
这是一个维护版本,该版本解决了以下问题:
此外,at.js 版本 1.6.2 还包含 at.js 版本 1.6.1 和 1.6.0 中包含的所有增强功能和修复。这些版本不再可供下载。如果您使用的是 1.6.1 或 1.6.0,我们建议您升级到 1.6.2 版本
以下是 at.js 版本 1.6.1 中包含的增强功能和修复:
以下是 at.js 版本 1.6.0 中包含的增强功能和修复:
at.js 版本 1.5.0 现已可用。
at-request-succeeded
事件的详细信息中包含重定向标记。此标记可用于确定是否会将页面重定向到其他 URL。如果您要了解该 URL,请订阅 at-content-rendering-redirect
。(TNT-29834)
修复了将 window.targetGlobalSettings.enabled
设置为 false 时,导致其失败并引发运行时异常的问题。(TNT-29829)
修复了如果对触发全局 mbox 请求使用自定义代码并使用主体隐藏,则在可视化体验编辑器 (VEC) 中加载页面时导致页面失败的问题。(TNT-29795)
添加了对 screenOrientation
、devicePixelRatio
和 webGLRenderer
的支持。这些新的 Target 请求参数用于 iPhone X 和其他新型设备检测。有关更多信息,请参阅移动设备。(TNT-29781)
修复了并非总是发送 Adobe Audience Manager (AAM) 位置提示的问题。(TNT-29695)
对于支持 at.js 1.5.0 的浏览器,at.js 1.5.0 会切换到 MutationObserver 以进行选择器轮询。at.js 1.0.0 之前的版本使用 MutationObserver polyfill,而这被证明是有问题的。为避免出现 polyfill 问题,版本 1.5.0 使用以下伪代码来确定使用哪种计划机制:
if MutationObserver is supported
scheduler = MutationObserver
else if document is visible
scheduler = requestAnimationFrame
else
scheduler = setTimeout
at.js 版本 1.3.0 现已可用。
以下新事件可用于帮助跟踪、调试和自定义与 at.js 的交互:
有关更多信息,请参阅 at.js 自定义事件。
您可以使用来自数据提供程序的其他参数来增强 at.js 请求。应将数据提供程序添加到 dataProviders key
下方的 window.targetGlobalSettings
。
有关更多信息,请参阅数据提供程序。
at.js 请求现在使用 GET,但当 URL 大小超过 2048 个字符时,它会转为使用 POST。新增了一个名为 urlSizeLimit
的属性,如有必要,您可以在此属性中提高大小限制。通过这项更改,Target 可以使 at.js 与使用相同技术的 AppMeasurement 保持一致。
现在,Target 强制要求在 adobe.target.applyOffer(options)
函数中使用 mbox
键。以往,这些键值是要求使用的,但现在,Target 强制使用该键值以确保 Target 正确验证并且客户正确地使用该函数。
at.js 改进了事件和点击跟踪功能。at.js 会使用 navigator.sendBeacon()
发送事件跟踪数据,如果 navigator.sendBeacon()
不受支持,则将回退到同步 XHR。此回退行为主要影响 Internet Explorer 10 和 11 以及 Safari 的某些版本。Safari 在即将发布的 iOS 11.3 版本中将添加对 navigator.sendBeacon()
的支持。
现在,即使页面在后台选项卡中打开,at.js 也能渲染选件。有些 Target 客户遇到 requestAnimationFrame()
因浏览器对后台选项卡的限制行为而被禁用的问题。
此版本执行了许多性能方面的改进,包括缩短了检查 Chrome CPU 配置文件时的调用堆栈。
at.js 1.3.0 不再支持在 Microsoft Internet Explorer 9 上交付内容。有关支持的浏览器列表,请参阅支持的浏览器。今后,所有请求都将通过支持 CORS 的 XMLHttpRequest
来执行,而不使用 JSONP 请求。这项更改显著提高了安全性。
at.js 版本 1.2.3 现已可用。
at.js 版本 1.2.2 现已可用。
targetPageParams()
返回空字符串时,导致 getOffer() params
失败的问题。(TNT-28359)at.js 版本 1.2.1 现已可用。
at.js 版本 1.2 现已作为维护版本提供,其中包含大多数错误修复。
target="_blank"
的链接的点击跟踪阻止 Target 在新的选项卡中打开该链接的问题。(TNT-28072)sdidParamExpiry
,并将其传递到访客 API。这是添加到 at.js 1.1.0
中的回归参数。之前的 at.js 版本不会受到影响。此更改仅影响使用重定向选件和 A4T 的客户端。(TNT-27791)SCRIPT
。(TNT-27865)日期: 2017 年 8 月 2 日
at.js 版本 1.1 中包含以下增强功能和修复:
document.currentScript polyfill
不会妨碍 Angular 1.X。at-element-click-tracking
CSS 类进行标记,而不使用 at-element-marker
。日期: 2017 年 7 月 7 日
at.js 版本 1.0 中包含以下增强功能和修复:
getOffer()
函数。日期: 2017 年 5 月 22 日
at.js 版本 0.9.7 中包含以下增强功能和修复:
insertAfter
和 insertBefore
操作中缺少的资产键有关的问题。此类问题与从可视化选件迁移到选件模板有关。日期: 2017 年 4 月 13 日
at.js 版本 0.9.6 中包含以下增强功能和修复:
对 A4T 的重定向选件支持。下载并安装 at.js 版本 0.9.6 后,您可以在将 Adobe Analytics 用作 Target 报表源(即使用 A4T)的活动中使用重定向选件。除了 at.js 版本 0.9.6 之外,您的实施还必须满足其他最低要求,才能使用重定向选件和 A4T。有关更多信息以及其他应了解的重要信息,请参阅重定向选件 - A4T 常见问题解答。
在 at.js 0.9.6 发布之前,如果页面上存在访客 API,且 visitorApiTimeout
设置过于短促,则 可能会出现以下情况:在 TargetTarget 请求中未发送任何 MCID 数据。使用 A4T 时,这可能会导致诸如 Analytics 中的点击无法整合的问题。
at.js 0.9.6 已更改此行为,即使将 visitorApiTimeout
设置为 1 毫秒,Target 仍会尝试收集 SDID、跟踪服务器和客户 ID 数据,并在 Target 请求中发送这些数据。
添加了 selectorsPollingTimeout
设置。有关更多信息,请参阅 targetGlobalSettings()。
更改了来自 getOffer()
的响应格式。有关更多信息,请参阅 adobe.target.getOffer(options)。
为不支持的 <!DOCTYPE>
声明添加了控制台日志记录。
修复了将多个默认选件交付到单个 mbox 时,无法正确应用 Target Classic 插件的问题。(TGT-22664)
改进了双字符顶级域 (TLD) 的 Cookie 设置,以确保为这些域(例如,test.no、autodrives.ca 等)正确设置 mbox Cookie。
at.js 版本 0.9.6 中更改了对保存 Cookie 时应使用的顶级域进行提取的算法。由于进行了这项更改,Cookie 不能保存到使用 IP 的地址中。在大多数情况下,IP 地址都用于测试目的,但作为变通方法,您可以使用 DNS 条目或调整本地框中的主机文件。
修复了当属性是字符串值而不是整数时的移动和重新排列操作处理方式。
日期: 2017 年 1 月 19 日
现在,mbox 名称可以包含特殊字符(包括与号 (&)),以符合使用 mbox.js 的 mbox 名称的命名要求。
有关允许使用的特殊字符列表,请参阅 at.js 配置。
添加了 secureOnly
设置,以指示 at.js 是应仅使用 HTTPS,还是可以根据页面协议在 HTTP 和 HTTPS 之间进行切换。这是一项高级设置,其默认值为 False,可以通过 targetGlobalSettings
来覆盖此设置。
at.js 版本 0.9.3 及更低版本中提供了“旧版浏览器支持”选项。此选项在 at.js 版本 0.9.4 中已删除。
日期: 2016 年 10 月 10 日
日期: 2016 年 9 月 21 日
optoutEnabled
设置,用于启用或禁用“设备图表”的选择退出功能。如果将此设置设为 true
,且访客已选择退出跟踪,则访客的浏览器不会发起任何 mbox 调用。“设备图表”当前处于测试阶段。默认情况下,此设置将设为 false
,但是如果您正在使用“设备图表”,则必须将此设置设为 true
。mbox.js 版本 61 中包含类似选项。CustomEvent
支持。以前,无法通过标准的 DOM API(例如 document.addEventListener()
)来使用 at.js 事件通知机制。现在,您可以使用 document.addEventListener()
订阅 at.js 事件,例如请求事件和内容渲染事件。日期: 2016 年 7 月 14 日
Target 版本: 16.6.1
日期: 2016 年 6 月 23 日
修复了使用 VEC 选件时出现的白屏问题。使用 at.js 的任何人都应该升级到此新版本。
新增了 registerExtension
API。
通过该新 API,开发人员可以访问 at.js 中使用的特定 jQuery 模块,以开发适用于库的扩展(即插件)。这项更改存在一些影响。这只会影响使用以下功能的用户:
已删除 getSettings()
API,但可使用 registerExtension()
实现相同的功能。
已删除 getTracking()
API,但可使用 registerExtension()
实现相同的功能。
必须更新现有扩展(如 AngularJS 扩展),才能使用 registerExtension()
方法。
新的at.js通知API。
此通知系统的目标是针对 at.js 在页面上的行为以及在出现问题时提供更多信息。VEC 存在的常见问题是 IT 版本更改页面、VEC 选择器中断以及测试停止正确交付内容。此通知系统的目标是将此交付问题公布到页面上,从而使开发人员可以访问此信息,将其传递到 Adobe Analytics 等系统,并且还可以向测试被中断的业务所有者发送警报。
新增了 targetGlobalSettings()
API 方法。
您可以覆盖 at.js 库中的设置,而不是在 Target Standard/Premium UI 中或通过使用 REST API 来配置设置。
日期: 2016 年 5 月 5 日
这是 at.js 库的第一个正式版本。
at.js 是适用于 Target 的新实施库,专为典型的 Web 实施和单页应用程序而设计。
at.js 取代了 Adobe Target 实施的 mbox.js。
尽管 at.js 取代了 mbox.js,但是 mbox.js 将继续受支持。对于大多数人而言,at.js 将能够比 mbox.js 提供更大的优势。这让您有充足的时间来测试 at.js 并更改页面上的实施。
使用 at.js 具有许多好处,包括缩短 Web 实施的页面加载时间,增强安全性,以及为单页应用程序提供更好的实施选项,等等。
at.js 包含 target.js 中所包含的组件,因此不再需要调用 target.js。
实施 at.js 时,请注意以下事项: