1樓:zhangs1314
樓主的意思可能是在同乙個瀏覽器裡面的不同的標籤頁,訪問了同乙個專案,後面登入進去的賬號,把前面登入進去的賬號踢掉.
以前俺的做法,一般是用ws協議做長連線.每乙個長連線的唯一標記是乙個sessionId.
登入的時候,先判斷是否有sessionId被儲存過.
如果有,伺服器向這個sessionId主動推送通知,由前端js做出處理,即強制其退回到登入頁,並可以提示"您已經被踹了."
登入成功後,儲存這個新的sessionId.
登出之後,清空當前的sessionId.
觸發的事件可能有:1.開啟登入頁時,是瀏覽器端與伺服器端握手建立長連線的時候,通過onOpen事件來獲取sessionId;2.
登入時,通過onMessage事件把sessionId儲存進資料庫或者全域性變數或者快取裡.3.關閉瀏覽器退出專案時,是瀏覽器端與伺服器端斷手釋放長連線的時候,通過onClose事件來獲取sessionId,並且到資料庫或者全域性變數或者快取裡清除它.
僅供參考.
使用同乙個核心得瀏覽器就不用考慮兩者得相容性了嗎?
雪見仙尊 需要考慮,但實際上遇到問題的可能性很小。這是因為核心版本的問題。比如說中國產的套殼瀏覽器 360瀏覽器,QQ瀏覽器,搜狗瀏覽器,極速瀏覽器 獵豹瀏覽器 它們的核心雖然也是 chromium,但可能落後 Chrome 穩定版數個版本,一些新特性的支援沒有及時跟進。不過既然是 新特性 那麼一般...
乙個統一的瀏覽器核心 vs 多個瀏覽器競爭,哪一種對 Web 發展更有利?
愛讀書的路人甲 即使只有一家,新舊版本之間依然會有相容問題。所以從減少相容性的角度來說,一家和多家並沒有什麼區別。而如果只有一家,那麼所謂的國際標準其實就是乙個企業標準了。在這個標準制定過程中,會不會涉及到專利?你猜!另外,從安全角度來說,如果只有一家,那麼當他爆出0Day的時候,你有可用的替代品嗎...
瀏覽器向同一網域名稱同時傳送兩個 HTTP ajax 請求,究竟是共用了乙個 TCP 連線還是兩個?
Saviio 之前答題時漏看了 同時 所以做下補充。HTTP1.1裡大概規範了幾項提高效能的手段 持久連線 keep alive persistent connection 並行連線 Pipelining 第一點之前已經說過了,所以不表。第二點,由於現代網頁通常包含了複數個 10 資源,而按照預設設...