我编写了以下脚本来抓取页面加载时的Cookie,对于每个以 a _ 开头的Cookie,在 digitalData.user [0] .profile.profileInfo <中创建一个对象/ em>
if(typeof getAnalyticsCookieValues === "undefined") {
getAnalyticsCookieValues_loop = setInterval(function() {
if(typeof digitalData !== "undefined" && typeof getAnalyticsCookie !== "undefined") {
_satellite.notify("kicking off function to set values in digitalData");
clearInterval(getAnalyticsCookieValues_loop);
delete window.getAnalyticsCookieValues_loop;
var cookieNames = document.cookie.split(/=[^;]*(?:;\s*|$)/);
for (var i = 0; i < cookieNames.length; i++) {
if(/^a_/.test(cookieNames[i])) {
var x = cookieNames[i];
var ddObj = digitalData.user[0].profile.profileInfo;
ddObj[x.replace(/^a_/g,"")] = getAnalyticsCookie(cookieNames[i]);
}
}
} else {}
},200);
}
我遇到的问题是,大多数情况下它都有效,但IE11似乎部分捕获cookie值并将它们存储在JS对象中(例如:并非所有与 a _ 一起存在的cookie值正存储在JS对象中)。所以我假设IE11这是一个时间问题?
关于如何确保在执行此脚本之前已加载所有cookie的任何建议都会很棒。