【问题标题】:create a cookie with javascript in greasemonkey在greasemonkey中用javascript创建一个cookie
【发布时间】:2014-10-28 09:01:01
【问题描述】:

我正在尝试使用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....

【问题讨论】:

    标签: javascript cookies greasemonkey


    【解决方案1】:

    如果您设置的 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。

    【讨论】:

    • 尝试了 null 和 1 但没有解决。正如我在 Firefox 中看到的那样,没有创建 cookie
    • 效果很好,我只是仔细检查了一遍。如果它不适合您,那么您的脚本可能有其他问题,或者您检查 cookie 的方式。链接到您的完整脚本;如有必要,请使用pastebin.com。 ...您如何检查 cookie?
    • 这是所有脚本...我正在检查火虫。我还尝试创建一个具有不同名称的 cookie,但它没有被创建
    • 如果那是“所有的脚本”,那么这是一个问题,那是不是一个有效的脚本。它只是一个有效的代码 sn-p。打开 Greasemonkey 脚本管理器,找到您的脚本,右键单击它并选择 Edit。该文件应该在您配置 Greasemonkey 打开的任何文本编辑器中打开。将该文件的内容粘贴到 pastebin 并链接到它。
    • 当然还有更多标题,请在此处查看完整脚本pastebin.com/jP5W2Vu8
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-06
    • 2011-05-27
    • 2011-06-06
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    相关资源
    最近更新 更多