在greasemonkey中使用javascript创建一个cookie

时间:2012-11-19 11:14:58

标签: javascript cookies greasemonkey

我正在尝试创建一个带有greasemonkey的cookie,以阻止窗口弹出(在窗口弹出一个cookie后,窗口将不会弹出很多次...... 这是代码

function setCookie(c_name, value, expiredays) {
    var exdate = new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie = c_name + "=" + escape(value) + ((expiredays==null) ?
        "" :
        ";expires="+exdate.toUTCString());
}

var cookie_names = [
    'showDrushimPopUnderUserClick',
    'showDrushimPopUnder308'
];

for (var i in cookie_names) {
    setCookie(cookie_names[i], 1, 0);
}

但没有创建cookie ....

1 个答案:

答案 0 :(得分:5)

如果您设置的Cookie的expires值等于或早于当前系统时钟,则实际 删除 指定的Cookie (除非pathdomain不同,或者它是“安全”Cookie - 此处均不适用。)

此:

setCookie(cookie_names[i], 1, 0);

使该函数设置具有即时到期值的cookie,有效地删除具有该名称的任何cookie。

要实际设置新Cookie,请使用:

setCookie(cookie_names[i], 1, null);

这将导致您的代码设置会话cookie - 这可能是您想要的。

或使用:

setCookie(cookie_names[i], 1, 1);

设置一天到期的Cookie。