Javascript 读取cookie值有时才起作用
首先,我想对包含问题的流程做一个简短的描述: 如果有人点击我们公司的一个广告词广告并出现在我们的网站上,我将通过谷歌标签管理器触发器创建一个值为true的cookie广告词:URL contains?gclid=。cookie仅设置为true,任何时候都不会创建带有false的cookie 然后,当有人单击我们的联系人表单链接时,我从adwords cookie中读取值,并将其传递到联系人表单中的盲字段中。当用户单击send按钮时,我会收到一封包含其数据(包括cookie值)的电子邮件 每次我亲自尝试,效果都很好。但是,当我将AdWords帐户中的转换次数与我从联系人表单中获得的数据进行比较时,它似乎只是偶尔对其他用户起作用 我是javascript的初学者,所以我的脚本中可能存在推理错误,主要来自W3学校:Javascript 读取cookie值有时才起作用,javascript,cookies,joomla,Javascript,Cookies,Joomla,首先,我想对包含问题的流程做一个简短的描述: 如果有人点击我们公司的一个广告词广告并出现在我们的网站上,我将通过谷歌标签管理器触发器创建一个值为true的cookie广告词:URL contains?gclid=。cookie仅设置为true,任何时候都不会创建带有false的cookie 然后,当有人单击我们的联系人表单链接时,我从adwords cookie中读取值,并将其传递到联系人表单中的盲字段中。当用户单击send按钮时,我会收到一封包含其数据(包括cookie值)的电子邮件 每次我亲
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 "";
}