Adobe Target的at.js
2.0提供了丰富的功能集,使您的企业能够在下一代客户端技术上实现个性化。 此版本重点升级at.js
以与单页应用程序(SPA)进行和谐的交互。
at.js
2.0。adobe.target.triggerView()
函数。 可以使用各种技术来实现此目的,例如侦听URL哈希更改、侦听由SPA触发的自定义事件,或将triggerView()
代码直接嵌入到应用程序中。 您应该选择最适合您的特定单页应用程序的选项。triggerView()
函数的第一个参数。 使用简单、清晰和唯一的名称,以便在Target的可视化体验编辑器中轻松进行选择。at.js
2.0和 triggerView()
可通过标签管理解决方案(如Adobe Experience Platform Launch)实施。升级前,请注意at.js
2.0的以下限制:
at.js
2.0不支持跨域跟踪at.js
2.0不支持mboxOverride.browserIp和mboxSession URL参数at.js
2.0中弃用了旧版函数mboxCreate、mboxDefine、mboxUpdate。将显示默认内容,且不会发出网络请求。在视频播放期间,以下代码已添加到at.js
库的库页脚部分。 应用程序首次加载时,随后在应用程序中的任何哈希更改时触发。 它使用哈希的清理版本作为视图名称,当哈希为空时使用“home”。 请注意,为了识别SPA,代码会在URL中查找文本“react/”,该文本很可能需要在您的网站上进行更新。 另请记住,SPA可能更适合通过从自定义事件中触发triggerView()
或直接将代码嵌入应用程序来触发。
function sanitizeViewName(viewName) {
if (viewName.startsWith('#')) {
viewName = viewName.substr(1);
}
if (viewName.startsWith('/')) {
viewName = viewName.substr(1);
}
return viewName;
}
function triggerView(viewName) {
viewName = sanitizeViewName(viewName) || 'home';
// Validate if the Target Libraries are available on your website
if (typeof adobe != 'undefined' && adobe.target && typeof adobe.target.triggerView === 'function') {
adobe.target.triggerView(viewName);
console.log('AT: View triggered on page load: '+viewName)
}
}
//fire triggerView when the SPA loads and when the hash changes in the SPA
if(window.location.pathname.indexOf('react/') >-1){
triggerView(location.hash);
}
window.onhashchange = function() {
if(window.location.pathname.indexOf('react/') >-1){
triggerView(location.hash);
}
}