2012-07-20 114 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