读取cookie值有时只能起作用

时间:2016-11-24 08:13:23

标签: javascript cookies joomla

首先,我想对包含问题的过程做一个简短的描述:

如果有人点击我们公司的AdWords广告之一并进入我们的网站,我会通过Google跟踪代码管理器创建一个价值为“true”的Cookie“adwords”(触发器:网址包含“?gclid =”)。 cookie仅设置为“true”,不会在任何时候创建带有“false”的cookie。

然后,当有人点击我们的联系表单链接时,我会从“adwords”-cookie中读取值并将其传递到联系表单中的盲区。当用户点击“发送”按钮时,我会收到一封包含其数据的电子邮件,包括cookie值。

每次我自己尝试它都很完美。但是,当我将AdWords帐户中的转化次数与我从联系表单中获得的数据进行比较时,它似乎只对其他用户有效。

我是javascript的初学者,所以也许我的脚本中的推理错误(主要来自w3schools):

function getAdwordsCookie(cname) {
var name = cname + "=";
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);
    }
    if (c.indexOf(name) == 0) {
        return c.substring(name.length,c.length);
    }
}
return "false";

}

function SetAdwordsField() {
proforms.setValue(21,getAdwordsCookie("adwords"));

}

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

在 github 中使用我的存储库 Milk JS

<script src="https://raw.githubusercontent.com/GlowStone07/Milk-JS/main/src/milk.js" type="text/javascript" charset="utf-8"></script>

使用函数 get 然后使用 cookie 名称,返回 cookie 值。

完整示例:

//set new cookie
set("name", "John Doe");
//log the cookie's value
console log(get("name'));
//clear all cookies
clear();
//expected output: John Doe

答案 1 :(得分:-1)

如果你想获得getCookies功能,你可以尝试打击:

function getCookie(c_name) {
if (document.cookie.length > 0) {
    c_start = document.cookie.indexOf(c_name + "=");
    if (c_start != -1) {
        c_start = c_start + c_name.length + 1;
        c_end = document.cookie.indexOf(";", c_start);
        if (c_end == -1) c_end = document.cookie.length;
        return unescape(document.cookie.substring(c_start, c_end));
    }
}
return "";
}