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

时间:2013-06-07 06:16:22

标签: javascript jquery web-analytics adobe-analytics

我想检查网站上是否已调用s.t()或页面加载。我控制它何时被调用,但我想要一种非常通用的方式来询问它是否已被调用。主要目的是根据先前发生的情况调用s.t()或s.tl()。

5 个答案:

答案 0 :(得分:4)

如果已触发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;})()

答案 1 :(得分:0)

This answer给出了它背后的概念 - 在触发任一函数之前,检查另一个是否已被触发。例如:

s.pageName="page";
s.eVar1="value";

if(!linkFired) {
  var pageFired=true;
  s.t();
}
if(!pageFired) {
  var linkFired=true;
  s.tl(this,'o','custom link');
}

答案 2 :(得分:0)

我不确定这实际上会给你任何答案,但你也可以用以下内容覆盖s.t函数:

s.AltSt = s.t;

s.t = function (vo) {
    s.AltSt(vo);
    console.log("Do your own stuff!");
}

没有100%测试过这个,但是在第一次观察时这应该有效..

答案 3 :(得分:0)

你可以等一下,看看s是否被称为

setTimeout(function checkIfsLoad() {
    if (typeof s == 'object') {
        doYourStuff();
    } else {
        setTimeout(checkIfsLoad,150);
    }
}, 150);

答案 4 :(得分:0)

不幸的是我不知道这是什么时候引入AppMeasurement并且我没有找到任何关于它的文档但是我意外地找到了以下两个回调函数,我们成功地用它来识别跟踪请求之前和之后的那一刻。

class App(Object)
    def __init__(self, arg1, arg2):
        self.arg1 = arg1
        self.arg2 = arg2

    def function(self):
        print(self.arg1, self.arg2)

app = App("x", "y")  # This calls App.__init__(app, "x", "y")
app.function()