清除域中所有用户的设置值的单个cookie

时间:2013-10-12 15:17:22

标签: javascript php jquery cookies

所以我终于得到了这个梦幻般的cookie脚本在我的网站www.dynamicdrive.com/forums/showthread.php?69591-Looking-for-a-quot-do-not-show-this-page-again-quot -checkbox-script:

// Skip this Page Script (c)2012 John Davenport Scheuer
        // as first seen in http://www.dynamicdrive.com/forums/
        // username: jscheuer1 - This Notice Must Remain for Legal Use
        ;(function(setting){
            var cook = {
                set: function(n, v, d){ // cook.set takes (name, value, optional_persist_days) - defaults to session if no days specified
                    if(d){var dt = new Date(); 
                        dt.setDate(dt.getDate() + d);
                    d = '; expires=' + dt.toGMTString();}
                    document.cookie = n + '=' + escape(v) + (d || '') + '; path=/';
                },
                get: function(n){ // cook.get takes (name)
                    var c = document.cookie.match('(^|;)\x20*' + n + '=([^;]*)');
                    return c? unescape(c[2]) : null;
                }
            };
            if(cook.get('skipthispage')){
                //Hide element when cookie exists
            }
            else {
                //Show element when cookie does not exist
            }
            if(!document.cookie){cook.set('temp', 1);}
            if(document.cookie){
                jQuery(function($){
                    $('#optout').css({display: ''}).append(setting.optoutHTML).find('input').click(function(){
                        this.checked? cook.set('skipthispage', '1', setting.days) : cook.set('skipthispage', '', -1);
                        this.checked && setting.gowhenchecked && location.replace(setting.page);
                    });
                });
            }
        })({
            days: 1, // days cookie will persist
            page: '',
            gowhenchecked: true, // true/false - should page switch when the box is checked?
            optoutHTML: '<label for="optoutcheckbox">Don\'t show this again: <input type="checkbox" id="optoutcheckbox" value=""></label>'
        });

然而; 我正在使用它来隐藏当人们最初访问我的网站时弹出的启动页面,并且它允许他们使用1天长的cookie隐藏此启动页面。

此启动页面包含有关我正在处理的网站的信息,并且它一直在变化。因此,只要信息发生变化,我就需要一种快速有效的清除所有cookie的方法。

所以我需要的是一个按钮,我可以在我的ACP中点击,清除这些cookie并再次显示访问我网站的人的启动页面。

我一直在尝试使用许多不同的方法来实现这一点,但似乎都没有。

感谢jscheuer1这个可爱的剧本。

此致 Fredric T


编辑: 我应该补充一点:ACP位于脚本所在的子目录中。

http://example.com/index.php //这是加载脚本的地方

http://example.com/admin/index.php //这就是我需要按钮的地方。

如果无法实现上述目标,我想我可以使用PHP仅在会话用户设置为管理员时才允许显示。但我想避免这种情况。

1 个答案:

答案 0 :(得分:0)

通过在我的数据库中生成一个64字节的字符串来解决这个问题,以便在每次更改时替换旧值,这是我希望人们能够看到的。

将其绑定到字符串并将其插入到Javascript中。