2012-07-20 138 views
9

我正在使用以下代码在jQuery中的会话对象中存储值,但我得到错误$ .session函数不是函数。jQuery中的会话处理

我也从githhub网站添加插件“jquery.session.js”,但它不工作。请让我帮帮忙,什么是错的

// To Store 
$(function() { 
     $.session("myVar", "value"); 
}); 


// To Read 
$(function() { 
     alert($.session("myVar")); 
}); 

如果有任何其他方式做到这一点...然后还告诉我.....

+1

你下载并包含会话插件? https://github.com/AlexChittock/JQuery-Session-Plugin – Dutchie432 2012-07-20 13:22:42

+0

不是由jQuery,但如果你想使用JavaScript,然后考虑这个问题 - http://stackoverflow.com/questions/2257631/how-create-a-session -using-javascript – Vivek 2014-03-24 15:17:46

回答

17

假设你指的是this plugin,你的代码是:

// To Store 
$(function() { 
    $.session.set("myVar", "value"); 
}); 


// To Read 
$(function() { 
    alert($.session.get("myVar")); 
}); 

使用插件之前,记得要为了学习如何使用它读它文件。在这种情况下,可以在项目页面上显示的README.markdown文件中找到使用示例。

+0

就在旁边的提示中,如果您打算使用它来存储安全敏感信息,由于这些会话是在客户端处理的,因此它可能易于编辑。 – Dutchie432 2012-07-20 13:24:04

+0

嗨弗雷德里克,我已经使用上面的功能,你建议我。我也用你想的插件,但我得到这样的错误..............操作不支持 [Break On This Error] \t 不支持操作 return window.sessionStorage .getItem(key)|| this._getFallback(键); jquery.session.js(line 85) – user1206218 2012-07-21 06:00:35

+0

@user,看起来像您的浏览器不支持会话存储。它是否通过[此测试](http://dev-test.nemikor.com/web-storage/support-test/)? – 2012-07-21 06:12:55

11

在我看来,你不应该加载和使用你不需要的插件。这个特定的jQuery插件不会给你任何东西,因为直接使用JavaScript对象的复杂程度是完全相同的。也不是,插件提供了一些更简单的方式来与其他jQuery功能进行交互。另外,使用插件的做法不利于对事物的工作原理有深入的理解。 sessionStorage只能在被理解的情况下使用。如果它的理解,那么使用jQuery插件实际上是更多的努力。

考虑直接使用sessionStoragehttps://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage#sessionStorage

+2

如果html5会话存储不可用,该插件会自动使用cookie作为回退。 – Julian 2013-03-21 03:07:26

+1

这是真的,但没有记录在哪里。 Cookie和会话变量也是非常不同的东西。如果目标是考虑所有情况,那么应该使用类似这样的东西http://samy.pl/evercookie/ – ktamlyn 2013-04-14 14:22:59