2013-03-15 48 views
0

我試圖找出是否有可能以及如何保存對瀏覽器使用JavaScript進行的頁面更改。保存本地javascript變化

例如:我有一個隱藏菜單的切換。所以我隱藏我的菜單並離開頁面。當我再次訪問此頁面時,我希望該菜單保持隱藏狀態。截至目前,一旦我離開會議或刷新,我使用Javascript所做的任何更改都會消失

+0

您應該使用cookies。 – 2013-03-15 02:08:47

+0

@DC_:如果服務器不需要訪問它並且有'localStorage'可用,'localStorage'比Cookie更好:每個請求都會發送到服務器,因此當服務器將不需要它,並且有一種選擇是不鼓勵的。 – icktoofay 2013-03-15 02:10:38

+0

我需要使用localStorage來解決這個問題,至少這是教授想要的。這是一個HTML5類,但他在課堂上展示的例子並不真正適用於我的網站,我很困惑。我見過的例子只是使用帶有鍵/值對的文本框並保存該信息,因爲我的設置有多種樣式可以更改教授想要保存的內容。 – Batman 2013-03-15 02:12:20

回答

1

不像你在想,不。沒有「記住這個頁面狀態」標誌或任何東西。

但是,有一種方法可以存儲數據。在現代瀏覽器上,用戶可以堅持一些選擇或數據。然後,當頁面加載時,您的JavaScript可以讀取該數據,然後配置頁面。

例如:

$('#hide-stuff-button').click(function() { 
    $('#stuff').hide(); 
    localStorage.hidden = true; 
}); 

if (localStorage.hidden) { 
    $('#stuff').hide(); 
} 

該腳本做兩件事情。當你點擊一個按鈕時,它會保存一些偏好,當頁面加載時,它會讀取已保存的狀態並對頁面執行某些操作。

+0

你是jQuerry以上的代碼嗎? – Batman 2013-03-15 02:14:40

+0

從我可以看到,你在做什麼是使用localStorage作爲布爾值來確定toogle狀態。我認爲這不會對我有用,因爲我的網頁上可用的更改有兩種以上的狀態。 http://www3.carleton.ca/clubs/sissa/html5/video.html 在側面菜單中,例如我有一個可能有9個不同背景的更改背景選項,視頻播放器使用隨機顏色生成器,因此顏色有無限的選擇......然而,你的解決方案將適用於wideScreen選項,因爲它只是隱藏和隱藏邊欄 – Batman 2013-03-15 02:19:42

+0

@Batman它是jQuery,我簡潔地使用它。這只是一個例子。您可以存儲任何需要的數據,然後將其讀回來,然後根據需要啓動該頁面。 – 2013-03-15 17:15:23