通过jQuery cookie脚本删除cookie

时间:2012-11-25 21:22:32

标签: javascript jquery select cookies

我有一个包含3个html文件的网站:

语言选择:media/index.html

EN页面:media/en/index.html

CN页面:media/cn/index.html

网站文件:media/site/

当访问者在我的网站上选择语言时,我通过此脚本创建了一个Cookie:

<script type="text/javascript">

    $(function () {

        var url = '';
        var en_page = 'en';
        var cn_page = 'cn';

        if ($.cookie('default_page') != null) {
            if (window.location.href != url + '/' + $.cookie('default_page')) {
                window.location.href = url + '/' + $.cookie('default_page');
            }
        }

        $('#enlink').click(function () {
            $.cookie('default_page', en_page, {expires: 999, path: '/', domain: 'mywebsite.com'});
        });

        $('#cnlink').click(function () {
            $.cookie('default_page', cn_page, {expires: 999, path: '/', domain: 'mywebsite.com'});
        });

    });

</script>

    ....
    ....

    <a href="cn/index.html" id="cnlink">CN</a>
    <br>
<a href="en/index.html" id="enlink">EN</a>

这会成功创建一个名为“default_page”的Cookie,其值为“cn”或“en”,然后在后续访问时将用户重定向到mywebsite.com/cnmywebsite.com/en。一切正常。

但是,我无法删除此Cookie。每当用户点击链接以更改media/en/index.htmlmedia/cn/index.html(即我的实际网站,而不是语言选择页面)中的语言时,我都需要删除此Cookie:

<script type="text/javascript">

    function deletecookie(){
        alert('delete');
        $.cookie('default_page', null, {path: '/', domain: 'mywebsite.com'});
    }

</script>

....
....

<a href="../index.html" onclick="deletecookie()">
    Change language
</a>

但这不起作用,当我点击“更改语言”时,它仍然会将我重定向回同一页面(因为cookie仍然存在),所以我无法访问语言页面({{1} })。当我收到警告框时,正在调用该函数,但我检查了我的浏览器,即Firefox,并且cookie media/index.html仍在那里。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

尝试更改此

$.cookie('default_page', null, {path: '/', domain: 'mywebsite.com'});

到这个

$.cookie('default_page', null);