我的网站上有三页。
通过这两个页面,我想跟踪用户是否已点击添加或跳过插件以了解最终发送它们的付款链接。在第一页上,如果单击“添加”插件按钮,我将创建一个JavaScript cookie,如下所示:
onclick="createCookie("addon1", "yes", 0)"
在第二页上,我做了同样的事情,但为插件二创建了一个cookie:
onclick="createCookie("addon2", "yes", 0)"
JavaScript是
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=/";
}
如果我已经创建了这两个cookie,我如何在三个页面周期结束时处理它们以了解存在哪些cookie,从而确定要重定向到哪个支付链接?
在第二页上,因为正在创建cookie,我还需要阅读并理解它是否存在。这让我很困惑。我是否需要额外的页面来处理这些是否存在?
答案 0 :(得分:1)
如果第二个提示重定向您,则需要另一个页面。
要阅读Cookie,您可以使用 Zeus.js 的内置zeus.getCookie()
功能。
zeus.getCookie()
的作用如下:
document.cookie
zeus.getCookie()
从字符串例如,如果您设置了Cookie document.cookie = "like=trains"
,则可以使用zeus.getCookie("like")
返回值trains
(作为字符串)。
要使用 Zeus.js ,只需输入
<强> <script src="https://rawgithub.com/thetakeaway/zeus.js/master/zeus.js"></script>
强>
<head></head>
中的。
干杯!
答案 1 :(得分:0)
如果您想要Cookie的价值,可以通过document.cookie
展开;
来拆分网站的Cookie,然后通过=
展开部分内容来获取饼干数组:
var cookies = document.cookie.split(';');
var cookieObject = {};
for(var i=0;i<cookies.length;i++){
var c = cookies[i].split('=')
cookieObject[c[0]]=c[1];
}
您可以在实际想要查看Cookie是否已设置之前运行此操作,并检查cookieObject
是否包含addon1
或addon2
。
如果只是存在,如果您想要的cookie,您可以简单地为document.cookie创建搜索功能,如:
function doesCookieExist(cookie) {
return document.cookie.search(cookie) >= 0;
}
返回true或false。您可以通过组合上述两个函数使其更加健壮。转换为数组,然后搜索数组。