2011-04-07 101 views
0

我有一個Web服務器,顯示房間列表並顯示那些狀態。每隔30秒刷新一次以收集新事件並顯示房間的任何狀態變化。刷新期間保持滾動位置

問題是刷新率必須很快,以便實時註冊事件,但用戶每次刷新頁面時都會移回列表的頂部,這可能會導致數百間客房。

服務器是由.jsp文件構成的,我認爲它是JavaScript,因爲它在靠近頁面頂部的HTML標記中顯示了javascript。

我只使用JavaScript爲PHP添加一個,所以我有點不確定它。

有沒有人知道我可以存儲用戶的滾動位置並在頁面刷新時將其重置的方式。

感謝

+1

*他們。如果你使用php + ajax,你可以加載數據而不刷新頁面。你可以發佈任何代碼/更多細節? – Calum 2011-04-07 14:50:58

+1

JSP代表JavaServer Pages,它不是Javascript。這可能會幫助您進行搜索。 – Dai 2011-04-07 14:53:21

+0

@Calum我不使用PHP。我正在增強別人的代碼(以前的員工),我不知道我在做什麼,因爲我只知道PHP。 – Skeith 2011-04-07 14:57:25

回答

2

你可以scrollTop的值存儲在cookie中,然後onload事件,設置scrollTop的回到那個價值,但它可能會爲一個生澀的體驗給用戶。

您可能需要嘗試爲新數據進行XHR/Ajax調用,然後將其附加到頁面上的正確位置。

你最喜歡的JS庫會讓你很容易做到。

0

現在你應該使用sessionStorage而不是cookie。甲cookie將跨接片(潛在地非常混亂)被共享,而sessionStorage的是唯一的選項卡:

的sessionStorage類似於Window.localStorage,唯一不同的是,同時存儲在localStorage的數據沒有到期集,存儲在sessionStorage中的數據在頁面會話結束時被清除。只要瀏覽器處於打開狀態並且在頁面重新加載和恢復時存在,頁面會話就會持續。 在新選項卡或窗口中打開頁面將導致啓動新會話,這與會話cookie的工作方式不同。

相關問題