2012-05-07 18 views

回答

2

會議是一個服務器端的機制,所以你需要一個服務器邏輯來啓動和管理會議。

1

會話不能被JS直接訪問。它存儲在服務器上,而JavaScript在客戶端上運行。但可以間接完成,例如,將其存儲在隱藏字段中,將其提交給服務器,然後檢索並將隱藏字段中的值分配給會話。

5

javascript只支持cookies。您可以將它們設置爲跟蹤用戶會話,但不支持使用會話。

function createCookie(name,value,days) { 
    var expires = ""; 
    if (days) { 
     var date = new Date(); 
     date.setTime(date.getTime()+(days*24*60*60*1000)); 
     expires = "; expires="+date.toGMTString(); 
    } 
    document.cookie = name+"="+value+expires+"; path=/"; 
} 

function readCookie(name) { 
    var nameEQ = name + "="; 
    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,c.length); 
     } 
     if (c.indexOf(nameEQ) == 0) { 
      return c.substring(nameEQ.length,c.length); 
     } 
    } 
    return null; 
} 

function eraseCookie(name) { 
    createCookie(name,"",-1); 
} 

來源:http://www.daniweb.com/web-development/javascript-dhtml-ajax/threads/19283/how-to-save-session-values-in-javascript

1

我們可以做會話處理的HTML頁面的JavaScript的幫助嗎?

間接的影響。使用AJAX調用會話感知的服務器端HTTP處理程序。 jQuery.ajax()使AJAX容易,並有很多例子。

例如,這是.NET中通過調用WCF端點,網絡服務,甚至可以訪問其中的會話狀態保持相同的過程頁面完成。

你既可以以這種方式在會議上獲得/設置值。

2

而術語通常用於服務器端的機制「會話」,那自然不能沒有一些服務器端腳本中,你可以實現在JS僞會話,如果你只是想有一個登錄跟蹤:

  • 實現一個隱藏字段與用戶登錄的時間戳值
  • 更新這一領域與每個用戶進行顯著行動
  • 運行一個假的cronjob在使用setInterval時間的新的時間戳() ,檢查隱藏字段中的值是否早於您允許的會話時間
    • 如果是舊的,執行你的會話超時代碼

要小心,不過, 1.這種機制可能會導致您的客戶根據您的網站和參數的瀏覽器一些壓力(看行動如果用戶關閉瀏覽器窗口中檢查間隔的頻) 2.這將無法生存/標籤

1

今日(九月2017)我會建議使用HTML5的Web存儲功能。

引述W3C:

HTML網頁存儲;比餅乾好。 什麼是HTML Web存儲?

藉助網絡存儲,網絡應用程序可以將數據本地存儲在用戶瀏覽器的 中。

在HTML5之前,應用程序數據必須存儲在cookie中,每個服務器請求中包含 。網絡存儲更安全,大量的數據可以存儲在本地,而不會影響網站的性能。

與Cookie不同,存儲限制要大得多(至少5MB),並且信息永遠不會傳輸到服務器。

Web存儲是每個來源(每個域和協議)。所有來自 的頁面都可以存儲和訪問相同的數據。

更多地瞭解它是如何工作的,以及如何在這裏實現它的細節:https://www.w3schools.com/html/html5_webstorage.asp

另外,MDN文檔是更細節的良好來源:https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage

顯然加密存儲在網絡存儲中的數據不會傷害。