Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查是否已调用sitecatalyst/Omniture s.t()_Javascript_Jquery_Web Analytics_Adobe Analytics - Fatal编程技术网

Javascript 检查是否已调用sitecatalyst/Omniture s.t()

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.t()或页面加载。我可以控制它何时被调用,但我需要一种非常通用的方式来询问它是否已经被调用。主要目的是根据之前发生的情况调用s.t()或s.tl()。

给出了其背后的概念-在启动任一函数之前,检查另一个函数是否已启动。例如:

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”,您将看到有关它的最新文档。