我創建了一個SPA,當然它使用AJAX動態加載div中的頁面。我的佈局是一個側面手風琴菜單,當你點擊一個項目時,它會在它旁邊的div上加載信息。我的問題是,如果一個人決定以每秒鐘的速度點擊菜單項,我會開始在我的頁面中獲得空白內容。所以我的問題是,有什麼最佳做法(如果有的話),以避免頁面打破,當你有人點擊這麼快?有效且反覆更新DOM數據而不破壞頁面
事情我做對性能:
- 使用HTML模板和JSON文件來構建應用程序之前啓動頁,保存在內存中的(簡單)的網頁抓取 - 而不是調用AJAX每次點擊
- 現在,每次點擊我使用的
clearTimeout
和setTimeout
設置爲幾毫秒到切換頁面的進程減慢 - 不理想
不幸的是,因爲它太長時間,BU我不能發佈代碼我希望我能得到這些信息的幫助。
謝謝你們!
**注意:這只是前端工作,沒有數據庫,因爲負載不重。
編輯: 這是我的setTimeout和clearTimeout的小片段: if (clickTimeout) { clearTimeout(clickTimeout); } clickTimeout = setTimeout(function() { clickLink(menuItem.attr('href')); }, 500);
當第二個請求被啓動時,您是否中止先前的ajax請求? – Mark 2014-10-02 16:19:26
這是奇怪的事情。我只在應用程序啓動時才進行ajax調用(同步),並將信息保存在數組中。然後,對於每次點擊,我將轉到數組的內容,而不是再次調用ajax。它似乎更快,但我仍然有這個問題。 – 2014-10-02 16:21:36
那麼你的頁面數據本地存儲在Javascript數組中? – Mark 2014-10-02 16:22:02