(function() {
if (!window.AVDUberCTA) {
return;
}
var sessionId = getSessionId();
var pageViewSent = false;
var engagedSent = false;
var scroll25Sent = false;
var scroll50Sent = false;
var scroll75Sent = false;
var popupShownSent = false;
function getSessionId() {
try {
var key = "avd_uber_session_id";
var existing = localStorage.getItem(key);
if (existing) {
return existing;
}
var id = "s_" + Date.now() + "_" + Math.random().toString(16).slice(2);
localStorage.setItem(key, id);
return id;
} catch (e) {
return "s_no_storage_" + Date.now();
}
}
function getDevice() {
var w = window.innerWidth || document.documentElement.clientWidth || 0;
if (w <= 767) {
return "mobiel";
}
if (w <= 1024) {
return "tablet";
}
return "desktop";
}
function getTimezone() {
try {
return Intl.DateTimeFormat().resolvedOptions().timeZone || "";
} catch (e) {
return "";
}
}
function sendEvent(data) {
try {
var form = new FormData();
form.append("action", AVDUberCTA.action);
form.append("nonce", AVDUberCTA.nonce);
form.append("type", data.type || "unknown");
form.append("source", data.source || "unknown");
form.append("context", data.context || AVDUberCTA.pageType || "unknown");
form.append("device", getDevice());
form.append("pageUrl", AVDUberCTA.pageUrl || window.location.href);
form.append("targetUrl", data.targetUrl || "");
form.append("label", data.label || "");
form.append("sessionId", sessionId);
form.append("referrer", document.referrer || "");
form.append("language", navigator.language || "");
form.append("screenWidth", window.screen && window.screen.width ? window.screen.width : 0);
form.append("screenHeight", window.screen && window.screen.height ? window.screen.height : 0);
form.append("timezone", getTimezone());
if (navigator.sendBeacon) {
navigator.sendBeacon(AVDUberCTA.ajaxUrl, form);
return;
}
fetch(AVDUberCTA.ajaxUrl, {
method: "POST",
body: form,
credentials: "same-origin",
keepalive: true
}).catch(function(){});
} catch (e) {}
}
function trackPageView() {
if (pageViewSent) {
return;
}
pageViewSent = true;
sendEvent({
type: "page_view",
source: "page",
context: AVDUberCTA.pageType || "unknown",
label: document.title || "Pagina bekeken"
});
}
function trackEngagedSession(source) {
if (engagedSent) {
return;
}
engagedSent = true;
sendEvent({
type: "engaged_session",
source: source || "engagement",
context: AVDUberCTA.pageType || "unknown",
label: "Betrokken sessie"
});
}
function trackScroll() {
var doc = document.documentElement;
var body = document.body;
var scrollTop = window.pageYOffset || doc.scrollTop || body.scrollTop || 0;
var scrollHeight = Math.max(
body.scrollHeight || 0,
doc.scrollHeight || 0,
body.offsetHeight || 0,
doc.offsetHeight || 0,
body.clientHeight || 0,
doc.clientHeight || 0
);
var windowHeight = window.innerHeight || doc.clientHeight || 0;
var maxScroll = scrollHeight - windowHeight;
if (maxScroll <= 0) {
return;
}
var percent = Math.round((scrollTop / maxScroll) * 100);
if (percent >= 25 && !scroll25Sent) {
scroll25Sent = true;
sendEvent({
type: "scroll_25",
source: "scroll",
context: AVDUberCTA.pageType || "unknown",
label: "Scroll 25%"
});
}
if (percent >= 50 && !scroll50Sent) {
scroll50Sent = true;
trackEngagedSession("scroll_50");
sendEvent({
type: "scroll_50",
source: "scroll",
context: AVDUberCTA.pageType || "unknown",
label: "Scroll 50%"
});
}
if (percent >= 75 && !scroll75Sent) {
scroll75Sent = true;
sendEvent({
type: "scroll_75",
source: "scroll",
context: AVDUberCTA.pageType || "unknown",
label: "Scroll 75%"
});
}
}
function closestCTA(el) {
while (el && el !== document) {
if (el.getAttribute && el.getAttribute("data-avd-cta") === "1") {
return el;
}
el = el.parentNode;
}
return null;
}
function trackCTAClick(cta) {
if (!cta) {
return;
}
sendEvent({
type: cta.getAttribute("data-avd-cta-type") || "cta_click",
source: cta.getAttribute("data-avd-cta-source") || "unknown",
context: AVDUberCTA.pageType || "unknown",
targetUrl: cta.getAttribute("href") || "",
label: (cta.textContent || "").replace(/\s+/g, " ").trim()
});
}
function setupCTATracking() {
document.addEventListener("click", function(event) {
var cta = closestCTA(event.target);
if (!cta) {
return;
}
trackCTAClick(cta);
}, true);
}
function setupPopupTracking() {
var popup = document.getElementById("avdUberPopup");
if (!popup) {
return;
}
var observer = new MutationObserver(function() {
var visible = popup.getAttribute("aria-hidden") === "false" || popup.classList.contains("is-visible") || popup.classList.contains("active");
if (visible && !popupShownSent) {
popupShownSent = true;
sendEvent({
type: "popup_shown",
source: "popup",
context: AVDUberCTA.pageType || "unknown",
label: "Popup getoond"
});
}
});
observer.observe(popup, {
attributes: true,
attributeFilter: ["class", "aria-hidden"]
});
document.addEventListener("click", function(event) {
var close = event.target && event.target.closest ? event.target.closest("[data-avd-popup-close]") : null;
if (!close) {
return;
}
sendEvent({
type: "popup_close",
source: "popup",
context: AVDUberCTA.pageType || "unknown",
label: "Popup gesloten"
});
}, true);
}
function setupCloseTracking() {
document.addEventListener("click", function(event) {
var close = event.target && event.target.closest ? event.target.closest(".avd-cta-close") : null;
if (!close) {
return;
}
sendEvent({
type: "sticky_close",
source: "sticky_bar",
context: AVDUberCTA.pageType || "unknown",
label: "Sticky bar gesloten"
});
}, true);
}
function setupEngagementTracking() {
setTimeout(function() {
trackEngagedSession("engagement_10s");
}, 10000);
window.addEventListener("scroll", trackScroll, {
passive: true
});
document.addEventListener("click", function() {
trackEngagedSession("first_click");
}, {
once: true,
capture: true
});
}
function init() {
if (String(AVDUberCTA.trackViews) === "1") {
trackPageView();
}
setupCTATracking();
setupPopupTracking();
setupCloseTracking();
setupEngagementTracking();
}
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", init);
} else {
init();
}
})();
Fatal error: Uncaught Error: Class "AVD_Uber_CTA_Loader" not found in /home/u580525827/domains/alexandervandijl.nl/public_html/wp-content/plugins/avd-uber-cta/avd-uber-cta.php:1757
Stack trace:
#0 /home/u580525827/domains/alexandervandijl.nl/public_html/wp-includes/class-wp-hook.php(341): avd_uber_cta_bootstrap()
#1 /home/u580525827/domains/alexandervandijl.nl/public_html/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters()
#2 /home/u580525827/domains/alexandervandijl.nl/public_html/wp-includes/plugin.php(522): WP_Hook->do_action()
#3 /home/u580525827/domains/alexandervandijl.nl/public_html/wp-settings.php(622): do_action()
#4 /home/u580525827/domains/alexandervandijl.nl/public_html/wp-config.php(81): require_once('/home/u58052582...')
#5 /home/u580525827/domains/alexandervandijl.nl/public_html/wp-load.php(50): require_once('/home/u58052582...')
#6 /home/u580525827/domains/alexandervandijl.nl/public_html/wp-blog-header.php(13): require_once('/home/u58052582...')
#7 /home/u580525827/domains/alexandervandijl.nl/public_html/index.php(17): require('/home/u58052582...')
#8 {main}
thrown in /home/u580525827/domains/alexandervandijl.nl/public_html/wp-content/plugins/avd-uber-cta/avd-uber-cta.php on line 1757