2013-11-15 71 views
-2

我開發了一個帶有JQM的HTML5 webapp,我想實現的是在頁面動態添加頁面內容之後(前一頁有一個按鈕在點擊後執行JS函數並且該腳本生成內容)刷新後,該內容不會消失,但會停留。在瀏覽器中更新頁面後動態插入頁面內容消失

如果這是不可能的,我應該將哪個事件綁定到將再次生成內容並將其放入此頁面的腳本?如果這個問題重複,請將我的答案提交給我。自從多天以來,我一直在努力做到這一點,但仍然沒有成功。任何意見將不勝感激!

+2

請不要在你的問題上發誓。 –

+0

對不起!它不會再發生。 –

回答

2

當頁面刷新時,任何客戶端上下文都是在那一點上不見了。考慮頁面本身以及其中的所有JavaScript作爲應用程序本身。刷新頁面無異於關閉並重新打開應用程序。

鑑於此,在該頁面中創建的任何上下文或狀態在下次頁面加載時需要可用時都需要保留在某處。有很多地方可以做到這一點。例如:

  • 服務器端代碼
  • 餅乾
  • 本地存儲

既然你主要是談論HTML5和JavaScript開發,本地存儲可能是你最好的選擇在這種情況下。有a handy guide here,可以讓你開始,但快速谷歌搜索「HTML5本地存儲」揭示更多。從本質上講,你需要做的是:

  • 定義的一些數據,表示您希望網頁加載期間保存
  • 寫數據到本地存儲任何時候狀態改變狀態
  • 閱讀從數據本地存儲在任何時候加載頁面(因爲您特別要求事件,文檔的「就緒」事件可能就像大多數其他jQuery代碼一樣),並從該數據恢復頁面的狀態
+0

謝謝,大衛!這是一個非常有用的答案。 –

+0

文檔的「準備好」事件是否也適用於單頁面應用程序?我通過#導航到頁面,例如。 G。 file:///C/exampleproject/index.html#page1 –

+0

@busuzima:可能很難說,沒有看到上下文。文檔的準備事件是當文檔的結構完整且可用時,因此任何*之前的事件*需要仔細考慮,因爲在文檔繼續構建時您可能遇到問題。如果對於界面的某些方面,您需要等到特定的引用內容也被加載(例如圖像),那麼稍後的事件可能會更好。不過,document.ready是一個很好的開始。 – David