在函数中设置 cookie,然后检查页面重新加载并执行某些操作

Set cookie in a funtion, then check on page reload and do something

我想在函数结束时为 cookie 设置一个值,并在页面重新加载时检查该代码是否存在。类似于:

function onObjectDrag() {
// save code
$.cookie("saved", 1);
location.reload();
}

然后当页面刷新时,检查该 cookie 是否存在,如果存在,则执行一些操作然后删除该 cookie。如果没有,请不要做任何事情。

不要在没有任何条件的情况下或在将 cookie 设置为零之后调用 onObjectDrag(),否则您将以递归结束。

function onObjectDrag() {
    setCookie('saved', 1, 100);
    location.reload();
}

$( document ).ready(function() {
    var x = getCookie('saved');
    if (x == 1) {
        //do something
        setCookie('saved', 0, 100);
    }
});

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i=0; i<ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1);
        if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
    }
    return "";
}

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
}

只需在同一页面中嵌入另一个 http 请求,避免重新加载之类的事情...

重新加载可能会让您对添加书签的页面、搜索引擎上的索引页面、直接链接到重新加载页面的人等感到头疼。

如果对您有帮助,请参阅Admins having to reload page to see admin features (question about cookie location)