У меня есть строка Javascript, которая запускает пользовательское событие пикселя Facebook для определения того, как далеко пользователь прокручивает веб-страницу.Один из кодов работает для 50% прокрутки и корректно запускает пиксель.
Я попытался изменить код так, чтобы прокручивать пиксель Facebook с прокруткой 25%, 50%, 75% и 100%, и не могу его получитьстрелять в любые события.Я поместил ниже и рабочий код, и нерабочий измененный код.
<script type = "text/javascript" >
/*
This code works for firing a Facebook Custom Event "SCROLLED 50 PERCENT" when someone scrolls 50% of a web page
*/
function getScrollPercent() {
var o = document.documentElement,
r = document.body,
e = "scrollHeight",
t = (o.scrollTop || r.scrollTop) / ((o[e] || r[e]) - o.clientHeight) * 100;
return Math.round(t)
}
var scrollFired = !1,
props = {
pm_path: window.location.pathname
};
window.addEventListener("scroll", function(o) {
getScrollPercent() >= 50 && !scrollFired && (fbq("trackCustom", "SCROLLED 50 PERCENT", props), scrollFired = !0)
});
</script>
<script type="text/javascript">
/*
This the modified code to fire multiple scroll events, but cannot get it to fire any scroll events.
*/
function getScrollPercent(){
var o=document.documentElement,
r=document.body,
e="scrollHeight",
t=(o.scrollTop||r.scrollTop)/((o[e]||r[e])-o.clientHeight)*100;
return Math.round(t);
var tracker = window.ScrollTracker();
tracker.on({
percentages: {
every: [25] // Tracks 25%, 50%, 75%, and 100%
}
}, handler);}
var scrollFired=!1,
props={pm_path:window.location.pathname};
if(getScrollPercent()>=25){
window.addEventListener("scroll",function(o){
getScrollPercent()>=25&&!scrollFired&&(fbq("trackCustom","SCROLLED 25 PERCENT",props),scrollFired=!0)});
}
else if(getScrollPercent()>=50){
window.addEventListener("scroll",function(o){
getScrollPercent()>=50&&!scrollFired&&(fbq("trackCustom","SCROLLED 50 PERCENT",props),scrollFired=!0)});
}
else if(getScrollPercent()>=75){
window.addEventListener("scroll",function(o){
getScrollPercent()>=75&&!scrollFired&&(fbq("trackCustom","SCROLLED 75 PERCENT",props),scrollFired=!0)});
}
else if(getScrollPercent()>=100){
window.addEventListener("scroll",function(o){
getScrollPercent()>=100&&!scrollFired&&(fbq("trackCustom","SCROLLED 100 PERCENT",props),scrollFired=!0)});
}
$rootScope.$on('$routeChangeSuccess', function() {
$scrollTracker.reset();
});
</script>
Я хочу, чтобы код запускал пользовательские события Facebook для 25%, 50%, 75 и 100% глубины прокрутки.