Internet Explorer不允许我使用这个Javascript函数创建会话cookie
Internet Explorer won't let me create session cookie using this Javascript function?
我正在使用Javascript创建cookie,如下所示
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=/";
}
Firefox和Chrome为7天创建mcoo cookie,为SESSION创建mdes cookie,而Internet Explorer只创建mcoo cookie。我遗漏了什么?
createCookie('mcoo', hash, 7);
createCookie('mdes', hash);
作为解决方案,我已将天* 24更改为6,并将mcoo的到期日期更改为28(因此这是1周),并将到期日期更改为模式1(6小时)。
当你发现…IE的工作是不同的(又一次,奇怪的是吗?)
给出ZERO
值过期,将在firefox
&chrome
,而不是IE
,因为在IE
中,cookie一旦设置就会立即过期。
所以…
FF,克雷格:
document.cookie = name + "=" + value + " expires=0; path=/";
…为了在IE
中工作,您需要删除expire
参数,并保留如下:
即:
document.cookie = name + "=" + value + " ; path=/";
更新
我可能会用这样的东西:
edit:在IE11上测试并运行&&CR36
function createCookie(name, value, days) {
var c_date,
c_name = name + "=" + value + ";",
c_expi = "",
c_path = "path=/";
if (days > 0) {
c_date = new Date();
c_date.setTime(c_date.getTime() + (days * 24 * 60 * 60 * 1000));
c_expi = "expires=" + c_date.toGMTString() + ";";
}
// create the cookie
document.cookie = c_name + c_expi + c_path;
}
然后调用函数:
// normal cookie expire in 7 days
createCookie('mcoo', hash, 7);
// session cookie
createCookie('mdes', hash, 0);
来源:通过JavaScript设置Session Only Cookie
更多:Session only cookies with Javascript
相关文章:
- 从函数JavaScript返回不可变数组/对象
- 将对象传递给函数.JavaScript
- 如何定义const函数javascript(语法糖)
- 新的日期函数javascript
- TypeError:this.getAttribute不是一个函数-javascript
- 从函数javascript发送变量
- 扩展自容器函数Javascript
- 从内部函数javascript内部分配外部函数的对象
- 使用函数JavaScript中的函数
- 在这里使用回调函数(JavaScript)有什么好处吗
- 来自函数 Javascript 的 NaN 返回值 ||函数执行顺序
- 将“e”传递给一个新函数 - javascript
- 调用函数中的一个函数——Javascript
- 传递的变量不适用于我的函数-Javascript
- 如何将类方法设置为等于多个函数?-Javascript
- 显示php中的函数javascript
- 如何使用php代码创建函数Javascript弹出框
- 未调用的外部函数-javascript
- 如何在类中运行函数.Javascript
- 关闭mouseover上的一个函数——Javascript,jQuery