2013-06-07 2 views
2

Я хочу проверить, была ли уже запущена загрузка s.t() или страницы на сайт. Я контролирую, когда он вызван, но я хочу очень общий способ узнать, уже ли он был вызван. Основная цель заключается в вызове s.t() или s.tl() в зависимости от того, что произошло ранее.проверить, если sitecatalyst/Omniture s.t() был вызван

ответ

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'); 
} 
4

Это вернет true, если код SiteCatalyst запущен.

(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;})() 
0

Я не уверен, что это будет на самом деле дать вам какие-либо ответы, но вы также можете переписать функцию е что-то вроде:

s.AltSt = s.t; 

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

Есть не 100% тестирование это, но на первом наблюдении этого должен работать ..

0

вы могли ждать, чтобы увидеть, если s называется

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

к сожалению, я не знаю, когда это было введено в AppMeasurement, и я не нашел никакой документации об этом, но случайно обнаружил следующие две функции обратного вызова, которые мы успешно используем, чтобы определить момент незадолго до и после запроса на отслеживание.

s.registerPreTrackCallback(function() { 
    console.log('Pre-Track'); 
}); 

s.registerPostTrackCallback(function() { 
    console.log('Post-Track'); 
}); 
Смежные вопросы