Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 读取cookie值有时才起作用_Javascript_Cookies_Joomla - Fatal编程技术网

Javascript 读取cookie值有时才起作用

Javascript 读取cookie值有时才起作用,javascript,cookies,joomla,Javascript,Cookies,Joomla,首先,我想对包含问题的流程做一个简短的描述: 如果有人点击我们公司的一个广告词广告并出现在我们的网站上,我将通过谷歌标签管理器触发器创建一个值为true的cookie广告词:URL contains?gclid=。cookie仅设置为true,任何时候都不会创建带有false的cookie 然后,当有人单击我们的联系人表单链接时,我从adwords cookie中读取值,并将其传递到联系人表单中的盲字段中。当用户单击send按钮时,我会收到一封包含其数据(包括cookie值)的电子邮件 每次我亲

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

如果有人点击我们公司的一个广告词广告并出现在我们的网站上,我将通过谷歌标签管理器触发器创建一个值为true的cookie广告词:URL contains?gclid=。cookie仅设置为true,任何时候都不会创建带有false的cookie

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

每次我亲自尝试,效果都很好。但是,当我将AdWords帐户中的转换次数与我从联系人表单中获得的数据进行比较时,它似乎只是偶尔对其他用户起作用

我是javascript的初学者,所以我的脚本中可能存在推理错误,主要来自W3学校:

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";
}


有人能帮忙吗?

如果您想获得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 "";
}
在github中使用我的存储库

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

完整示例:

//设置新cookie 集名,约翰·多伊; //记录cookie的值 控制台loggetname'; //清除所有cookies 清楚的 //预期产出:John Doe
这只是获取饼干的另一种方式,这如何回答问题?对不起!我认为他应该给我们一个错误,为什么有时它不起作用!真正地你说的是什么错误?推理中的错误?你看到他的代码中有错误吗?行返回值是否为false;在代码中的错误点?这是我从w3schools函数中更改的唯一内容。我没有得到一个错误,如果我尝试它的作品,但不是与所有其他用户,只有一些。你可以使用chrome中的调试,并找出!有些人禁用cookies-我知道,对!!这有多奇怪?!我知道,但这意味着我们90%的网站访问者都这么做。
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 "";
}