代码是什么意思?

时间:2015-08-28 10:16:55

标签: javascript

我想从网站上删除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');
}




1 个答案:

答案 0 :(得分:2)

当用户访问您的网站时,请说:

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

哪里都有内容。这表示已从同一域中可用的本地页面单击该链接。当引荐者不是本地页面时,在cookie中添加引用者并执行某个过程就是if条件的作用。

代码中有很多条件。它们是用户可能来自的地方。

案例1:用户并非来自任何地方。它返回undefined。您将在控制台中登录2

案例2:如果他来自其他页面,您将在控制台中登录3

案例3:如果他来自同一页面,您将在控制台中登录4