在质量指标中写入和读取Cookie的值

时间:2019-06-04 04:32:00

标签: javascript cookies session-cookies qualtrics

在Qualtrics中,我们从URL(psid)收集用户ID,并将其存储为嵌入式数据。

我们需要将用户发送到网站进行查看,然后在HotJar中完成调查,该调查会将他们重定向回Qualtrics,以将用户注册为完整用户。

由于网站/ HotJar无法处理用户ID,我希望将ID写入调查中的Cookie中,然后,当他们在此完成并重定向回Qualtrics时,我们可以重新读取Cookie并知道他们的ID,并且他们已经完成了本节。

我已经研究了如何执行javascript cookie,但是这样做时似乎没有在计算机上添加任何东西,所以我出现了问题:

Qualtrics.SurveyEngine.addOnload(function()
{
    function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}
    createCookie('blqualtrics',"${e://Field/psid}",7)
});

因此,任何有关如何正确执行此操作的帮助(然后是读取cookie并将其值重新放入嵌入式数据的另一端)都将是一个很大的帮助。

1 个答案:

答案 0 :(得分:0)

嗯,那比我想的要容易:

Qualtrics.SurveyEngine.addOnload(function()
{
    /*Place your JavaScript here to run when the page loads*/
function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}
    var x = readCookie('blqualtrics')
if (x) {
    Qualtrics.SurveyEngine.setEmbeddedData( 'psid', x );
}
});

因此,您可以轻松读取其中的“ blqualtrics” cookie并将其写入嵌入式数据中的“ psid”(嵌入式数据中已经有一个空的psid字段)。