Jquery 会话存储正常,但需要一个cookie

Jquery 会话存储正常,但需要一个cookie,jquery,cookies,modal-dialog,session-storage,Jquery,Cookies,Modal Dialog,Session Storage,因此,我已经得到了下面的代码来做我需要它做的事情,但是现在我被告知它需要在ie7中工作,而sessionStorage在该浏览器中不工作。我对饼干知之甚少,所以想知道是否有人能给我指出正确的方向 var yetVisited = sessionStorage['visited']; if (!yetVisited) { $j("#adspaceModal").modal("show").on("shown", function () { window.s

因此,我已经得到了下面的代码来做我需要它做的事情,但是现在我被告知它需要在ie7中工作,而sessionStorage在该浏览器中不工作。我对饼干知之甚少,所以想知道是否有人能给我指出正确的方向

    var yetVisited = sessionStorage['visited'];
    if (!yetVisited) {

        $j("#adspaceModal").modal("show").on("shown", function () {
    window.setTimeout(function () {
        $j("#adspaceModal").modal("hide");
    }, 20000);
});

        // open popup
        sessionStorage['visited'] = "yes";
    }
此时,我的模式会在您第一次访问主页时出现,除非我在新的选项卡/窗口中打开它,否则不会出现,我希望它按我的方式工作


非常感谢您的帮助。

您可以使用功能检测来确定会话存储是否可用,如果不可用,请使用jQuery:

事实上,最好将其抽象为自己的功能:

function storage(key, value) {
    if (!value) {
        // getter
        return window.sessionStorage ? window.sessionStorage[key] : $.cookie(key);
    } 
    else { 
        // setter
        window.sessionStorage ? window.sessionStorage[key] = value : $.cookie(key, value);
    }
}

看看插件,上面的代码片段似乎完成了这个任务。谢谢你的帮助。
function storage(key, value) {
    if (!value) {
        // getter
        return window.sessionStorage ? window.sessionStorage[key] : $.cookie(key);
    } 
    else { 
        // setter
        window.sessionStorage ? window.sessionStorage[key] = value : $.cookie(key, value);
    }
}