代码是什么意思?
问题描述:
我想从网站中删除cookie。有人告诉我使用这个代码。但我不知道代码的功能。请告诉我。代码是什么意思?
这里ref是在站点中生成的cookie名称。
var referrer = document.referrer; //returns the URL of the document that loaded the current document.
if (referrer.indexOf(location.host) == -1) {
console.log('1');
jQuery.removeCookie('ref');
if (jQuery.cookie('ref') === undefined) {
jQuery.cookie('ref', referrer, {
expires: .5,
path: '/'
});
referrer = jQuery.cookie('ref');
console.log('2');
} else {
console.log('3');
jQuery.removeCookie('ref');
referrer = jQuery.cookie('ref');
}
} else {
console.log('4');
referrer = jQuery.cookie('ref');
}
答
当用户到你的网站,说:
http://example.com/
现在,document.referrer
是""
(空白),因为它不是 “中提到” 通过任何链接。用户输入它。 document.referrer
保存打开页面的链接。
现在,当主页上有像http://example.com/signup一个链接,用户点击它,并转到页,并且页面有以下代码:
document.referrer; // This would give http://example.com/ as the referrer.
当你正在检查这一点:
referrer.indexOf(location.host) == -1
到底发生的是:
"http://example.com/".indexOf("http://example.com/") == -1
哪里,都具有小故事NT。这表明链接已经从相同域中的本地页面中点击。当引用者不是本地页面时,然后在Cookie中添加引荐来源,并执行一些过程就是if
条件的作用。
代码中有很多条件。它们是用户可能来自哪里的情况。
案例1:用户并非来自任何地方。它返回undefined
。您将获得登录到控制台的2
。
案例2:如果他来自不同的页面,您将获得登录到控制台的3
。
案例3:如果他来自同一页面,您将获得登录到控制台的4
。
您应该搜索每个功能的功能。 SO是为了帮助解决问题。你不应该要求解释算法。我将不得不提出这个问题。 –