admin管理员组

文章数量:1313163

i'm trying to create a cookie with greasemonkey in order to stop a window from popping up (after the windows pops up a cookie is created the the window won't popup to many times... this is the code

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);
}

but no cookie is been created....

i'm trying to create a cookie with greasemonkey in order to stop a window from popping up (after the windows pops up a cookie is created the the window won't popup to many times... this is the code

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);
}

but no cookie is been created....

Share Improve this question edited Oct 28, 2014 at 1:01 Mr. Polywhirl 48.8k12 gold badges93 silver badges144 bronze badges asked Nov 19, 2012 at 11:14 rafi wienerrafi wiener 6071 gold badge12 silver badges19 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 6

If you set a cookie that has an expires value equal to, or older than, the current system clock, it actually deletes the named cookie instead (Unless the path or domain are different, or it is a "secure" cookie -- none of which apply here).

This:

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

Causes that function to set a cookie with an instant expiration value, effectively deleting any cookie with that name.

To actually set a new cookie, use:

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

which will cause your code to set a session cookie -- which is probably what you want.

Or use:

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

To set a cookie that expires in a day.

本文标签: create a cookie with javascript in greasemonkeyStack Overflow