2012-09-14 222 views
1

我最近開發了一個腳本,基於document.execCommand()突出顯示網頁中的文本,但如果刷新我的網頁,更改將消失。刷新後保留網頁的更改

我該如何保持每個用戶的更改?

+0

你能解釋一下刷新後你想要堅持什麼嗎? – Sphvn

+0

我想用document.execCommand()函數保持highlited文本。我不能使用服務器端,所以它將是客戶端。再次感謝你。 –

回答

1

因爲我不確定你想要堅持什麼,我會給一些通用的信息。

在存儲上有一些很好的閱讀DiveIntoHtml5

,而這些通常被視爲HTML5的瀏覽器支持大得多我建議考慮看看要麼sessionStoragelocalStorage現在。

你可以看到keyValueStorage支持在CanIUse

您可以存儲鍵/值對如下:

localStorage.setItem("key", "value"); 

然後你可以檢索值如下:

localStorage.getItem("key"); 

刪除:

localStorage.removeItem("key"); 

sessionStorage的工作方式與上述相同,但只會在瀏覽器打開時保留。它堅持瀏覽器的「會話」。但是,localStorage將一直保留,直到通過代碼或清除瀏覽器將其刪除。

+0

謝謝你,我將潛入本地存儲的主題 –

0

微軟在state management for web applications上有很好的指導。檢查出來,你會看到所有的選項,你會問。然後選擇最適合的方式。 一旦你知道你想要什麼,你可以搜索堆棧溢出來查找問題的具體實現。肯定會有答案。

編輯:表5.5:「Web應用程序的狀態管理機制」是您想要查看的概述。

1

有兩種方法可以保存狀態。

一種是編寫將信息傳遞迴服務器進行存儲的客戶端代碼。

另一種方法是在客戶端計算機上保存所謂的cookie。通常,JavaScript不允許在客戶端計算機上讀寫文件(一種重要的安全功能),但它可以生成數據字符串,Web瀏覽器可以將其存儲在通常稱爲cookie jar的特殊文件中。 cookie jar是一個配置文件,它提供了關於如何設置瀏覽器的信息。

請記住,沒有cookie可以大於4KB。

+0

請不要建議cookies!我們已經不能過去了! – Sphvn

+1

你是對的,但我仍然必須處理即7,所以餅乾是一個很好的選擇。 – DadViegas

+0

但是你最好使用一個簡單的Polyfill來支持IE7。至少只有IE7實際上會使用cookies。 – Sphvn