5

ウィンドウがポップアップしないようにするために、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は作成されません。

4

1 に答える 1

6

expires現在のシステムクロック以上の値を持つCookieを設定すると、代わりに名前付きCookieが実際に削除pathされます(またはdomainが異なる場合、または「安全な」Cookieである場合を除き、いずれもここでは適用されません)。 )。

これ:

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

その関数に即時有効期限値のCookieを設定させ、その名前のCookieを効果的に削除します。

実際に新しいCookieを設定するには、次を使用します。

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

これにより、コードでセッションCookieが設定されます。これはおそらく必要なものです。

または使用:

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

1日で有効期限が切れるCookieを設定します。

于 2012-11-19T12:21:42.747 に答える