jQuery cookie,不保存链接点击

奇摩

因此,我使用carhartl的jQuery cookie插件来保持侧边菜单的打开状态。但是,当我单击侧面菜单中的链接时,将设置cookie,直到单击侧面菜单上的链接,页面会刷新,然后在其中重置为先前设置的cookie。

即使该链接的默认操作被禁用并随后进行导航(如以下基于单击链接的名称设置Cookie的答案),该操作仍然不起作用

我设置和读取Cookie的代码

//Side menu sliding
$("#MainMenu > ul li").click(function () {

    //stop sliding event for parent(s) of clicked list item
    $(this).parent().click(function(e) {
        e.stopPropagation();
    });

    //Slide up or down
    $(this).children("ul").eq(0).slideToggle("fast");
    $(this).toggleClass("closed");

    $("#MainMenu > ul li").each(function() {
        $(this).removeClass("selected");
    });
    $(this).addClass("selected");

    // Cookies
    createOpenedCookie();
    createSelectedCookie();


    var link = $(this).find("a").eq(0);
    if (link.length > 0) {
        window.location.href = $(link).attr("rel");
    }

});

//selected
function createSelectedCookie() {
    var selected = 0;
    $("#MainMenu > ul").find("ul, li").each(function (i) {
        if ($(this).hasClass("selected")) {
            selected = i;
        }
    });

    $.cookie("selected", selected, { expires: 7 });
    alert(selected);
}

编辑:

设置cookie的超时无效

编辑2:似乎只有在cookie子目录(链接)与原始单击的子目录不同的情况下,它才会重置为先前的cookie。这可能是一些奇怪的行为,专门与C#.net页面(.cshtml扩展名)的加载/重定向有关。如果我找出答案,我会发布答案。

奇摩

Cookies只能相对于它们所在的目录进行设置和读取,因此需要在根目录父路径中设置cookie

$.cookie("name", value, { path: "/" });

jQuery Cookie不起作用-同一域的不同文件夹

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章