在javascript对象中设置cookie值的麻烦

时间:2017-03-20 22:32:38

标签: javascript cookies timer internet-explorer-11

我编写了以下脚本来抓取页面加载时的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的任何建议都会很棒。

0 个答案:

没有答案