Javascript 检查是否已调用sitecatalyst/Omniture s.t()
我想检查是否已经在站点上调用了s.t()或页面加载。我可以控制它何时被调用,但我需要一种非常通用的方式来询问它是否已经被调用。主要目的是根据之前发生的情况调用s.t()或s.tl()。给出了其背后的概念-在启动任一函数之前,检查另一个函数是否已启动。例如:Javascript 检查是否已调用sitecatalyst/Omniture s.t(),javascript,jquery,web-analytics,adobe-analytics,Javascript,Jquery,Web Analytics,Adobe Analytics,我想检查是否已经在站点上调用了s.t()或页面加载。我可以控制它何时被调用,但我需要一种非常通用的方式来询问它是否已经被调用。主要目的是根据之前发生的情况调用s.t()或s.tl()。给出了其背后的概念-在启动任一函数之前,检查另一个函数是否已启动。例如: s.pageName="page"; s.eVar1="value"; if(!linkFired) { var pageFired=true; s.t(); } if(!pageFired) { var linkFired=t
s.pageName="page";
s.eVar1="value";
if(!linkFired) {
var pageFired=true;
s.t();
}
if(!pageFired) {
var linkFired=true;
s.tl(this,'o','custom link');
}
如果已触发SiteCatalyst代码,则返回true
(function(){for(w_m in window)if(w_m.substring(0,4)=='s_i_'&&window[w_m].src)if(window[w_m].src.indexOf('/b/ss/')>=0)return!0;})()
我不确定这是否会给您任何答案,但您也可以用以下内容覆盖s.t函数:
s.AltSt = s.t;
s.t = function (vo) {
s.AltSt(vo);
console.log("Do your own stuff!");
}
还没有100%测试过,但第一次观察时,这应该是可行的。您可以等待,看看是否调用了s
setTimeout(function checkIfsLoad() {
if (typeof s == 'object') {
doYourStuff();
} else {
setTimeout(checkIfsLoad,150);
}
}, 150);
不幸的是,我不知道这是什么时候引入AppMeasurement的,我也没有找到任何关于它的文档,但我意外地发现了以下两个回调函数,我们成功地使用它们来识别跟踪请求前后的瞬间
s.registerPreTrackCallback(function() {
console.log('Pre-Track');
});
s.registerPostTrackCallback(function() {
console.log('Post-Track');
});
这些在今天看来仍然有用。在web上搜索“Adobe analytics RegisterRetackCallback”,您将看到有关它的最新文档。