无法通过Javascript在Internet Explorer上设置cookie

时间:2015-07-22 15:34:02

标签: javascript internet-explorer cookies

我已经看到了很多关于这个和很多不同答案的问题,但是我看不到的任何一个都适用于我或者我已经尝试过它们已经失败了。

所以,基本上我有以下代码:

Date.prototype.addMins = function(minutes) { 
  this.setTime(this.getTime() + minutes*60000); 
  return this; 
}

function readCookie(name) { 
  var nameEQ = name + "="; 
  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,c.length);
    return c.substring(nameEQ.length,c.length); 
    if (c.indexOf(nameEQ) == 0) return c; 
   } 
   return null; 
}

var timer_expiry = new Date().addMins(1);
var expiry = new Date().setFullYear(2030);

document.cookie = 'my_signup_clock='+timer_expiry+';expires='+expiry+';path=/;';

var asc = readCookie('my_signup_clock')

if (asc) { 
 alert("exists");
} else{ 
 alert("does not");
}

我已经在我的所有浏览器上对此进行了测试,除了Internet Explorer(包括11)外,还设置了Cookie。以下是我认为有助于排除某些答案的内容:

  1. 我的域名不少于2个字符
  2. 我的域名中没有任何下划线
  3. 我的cookies应该是第一方的#39;网站上没有调用iframe
  4. 我的网站不是P3P设置(但我认为这不是必需的?)
  5. 我的IE浏览器是默认设置(我在Mac上,所以我通过虚拟机或BrowserStack查看网站) - 所以答案是“更改您的设置&#39;我不会被接受,因为我需要考虑我的用户。
  6. 我的网站将所有http重定向到https(如果有帮助)
  7. 如果有人有任何想法如何解决这个问题会很好,因为不幸的是我无法理解我能做到这一点 - 我一定是做错了。

    非常感谢

0 个答案:

没有答案