Cookie 数据在离开主页后仅存储一个变量
Cookie Data only stores one variable after leaving home page
我在这里遇到了问题。我正在转换创建变量的 cookie 字符串。主页 它在控制台中显示这两个变量。事情看起来不错。有一个 If 语句,我认为这是我的问题所在。离开主页后,仅存储mc_eid。我需要同时看到mc_eid和mc_cid。它们都显示在主页上,但是一旦我们更改链接,看起来只有mc_eid被存储。我很难弄清楚这一点。结帐时,我需要两个变量 ID。为什么一旦网址更改,它只会存储其中一个?
// getParameterByName
function getParameterByName( name ){
var regexS = "[''?&]"+name+"=([^&#]*)",
regex = new RegExp( regexS ),
results = regex.exec( window.location.search );
if( results === null ){
return null;
} else{
return decodeURIComponent(results[1].replace(/'+/g, " "));
}
}
// call Parameter values we are looking for
var mc_emailId = getParameterByName('mc_eid');
var mc_campaignId = getParameterByName('mc_cid');
//if id's are present store in cookie
if (mc_campaignId && mc_emailId) {
mccookie = "mc_eid=" + mc_emailId + "; mc_cid=" + mc_campaignId;
}else if (mc_campaignId) {
mccookie = "mc_cid=" + mc_campaignId;
}else if (mc_emailId) {
mccookie = "mc_eid=" + mc_emailId;
}
// add experation date set cookie
if (typeof mccookie !== "undefined"){
var days = 30;
var d = new Date();
d.setTime(d.getTime() + (days*24*60*60*1000));
var expires =";expires="+d.toUTCString();
document.cookie = mccookie + expires + "; domain=.mydomainname.com; path=/";
}
我只是不明白为什么不存储mc_cid。
您是正确的,该错误与以下方面有关:
mccookie = "mc_eid=" + mc_emailId + "; mc_cid=" + mc_campaignId;
您需要单独设置 Cookie。像这样:
if (mc_campaignId) {
var mccookieCID = "mc_cid=" + mc_campaignId;
}
if (mc_emailId) {
var mccookieEID = "mc_eid=" + mc_emailId;
}
// add experation date set cookies
if (typeof mccookieCID !== "undefined"){
var days = 30;
var d = new Date();
d.setTime(d.getTime() + (days*24*60*60*1000));
var expires =";expires="+d.toUTCString();
document.cookie = mccookieCID + expires + "; domain=.mydomainname.com; path=/";
}
if (typeof mccookieEID !== "undefined"){
var days = 30;
var d = new Date();
d.setTime(d.getTime() + (days*24*60*60*1000));
var expires =";expires="+d.toUTCString();
document.cookie = mccookieEID + expires + "; domain=.mydomainname.com; path=/";
}
将任何 cookie 值推送到数组中,然后遍历数组以设置它们可能会更有效。您也可以考虑使用 JavaScript Cookie API(如 JS Cookie)。但是要修复您的代码,您只需单独设置 cookie。
相关文章:
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 导航到特定事件的另一个变量页面
- 在另一个函数中使用变量this
- 我可以在Javascript/jQuery中使用一个变量作为键吗
- 使用mongodb更新中的一个变量
- 为什么window.open不打开一个以变量形式给出的链接
- 将节点数据分配给另一个变量jstree
- 如何将变量传递到另一个js文件
- 我怎么能让流星简单模式中的一个字段等于一个js变量,并且仍然让用户填写简单模式的其余部分
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- 将会话变量从一个页面传递到另一个页面
- Javascript:在激发函数后返回一个变量以供使用
- 替换另一个变量对象中的变量值
- 什么'它的意思是当一个变量位于括号外时
- 这在JavaScript中是一个好的变量名吗
- 可以't将sessionStorage设置为Javascript中的一个变量
- 如何在javascript中给变量一个随机值
- 在不同的.js文件之间传递变量;一个是在iframe内
- Console.log(变量);VS console.log([变量]);/一个提供信息,另一个没有
- 是否可以给变量一个默认值