回答
重新啓動而不刷新頁面的唯一方法是讓您手動將DOM返回到頁面加載時的狀態並恢復任何javascript狀態。您要麼必須記錄/記住初始狀態,以便您可以回到原始狀態或記錄所有增量更改,以便您也可以返回該狀態。
如果您真的想重新開始,刷新有什麼問題?實現這一
這也是一個很好的解決方案,但我想避免再次發佈頁面。 –
@Yair - 你爲什麼要避免重新加載頁面?它應該從緩存中加載並且速度非常快。 – jfriend00
@ jfriend00你會如何「記錄」初始狀態?你能用它覆蓋正在運行的DOM嗎?它是否也將對象的狀態(初始事件處理程序等)完全恢復到首次接收時的狀態? –
與上面類似,這裏是我最終做的。我將整個jQuery文檔內容存儲在bootup()函數中(並運行它)。正文的初始內容存儲在一個originalDOM變量中。然後在我有一個playAgain函數,將設置正文的內容爲originalDOM,並通過調用bootup()函數再次運行整個jQuery內容。這可以通過點擊「.startover」類的按鈕來觸發。
bootup();
var bootup = function(){$(document).ready(function(){
var originalDOM=document.body.innerHTML;
//jQuery lines of code here
var playAgain = function(){
$(".startover").click(function(){
document.body.innerHTML = originalDOM;
bootup();
});
};
playAgain();
});};
希望能幫助任何尋找類似東西的人,並且如果有什麼我可以改進的地方能夠聽到反饋意見,我很高興聽到!
- 1. DOM操作重建整個DOM結構
- 2. DOM操作重組HTML
- 3. Javascript DOM樹重複操作
- 4. .load()之後的DOM操作
- 5. WebView:在加載網頁後操作DOM
- 6. 在DOM操作後清空OpenLayers畫布
- 7. 如何在搜索後重置操作欄搜索?
- 8. DOM操作在PHP
- 9. 如何在Fancybox內容上操作DOM?
- 10. 如何在jsRender呈現模板之後操作DOM?
- 11. 如何在插入新元素後操作DOM?
- 12. 重置操作
- 13. 正在重置DOM AJAX請求後
- 14. jQuery:提交後重置表單操作
- 15. 使用SearchView後重置操作欄
- 16. EJB:CMT,拋出後如何重試操作
- 17. DOM操作
- 18. Extjs dom操作
- 19. jQuery DOM操作
- 20. 使用jquery重置Dom,然後再次操縱它
- 21. PHP中的DOM DOM操作
- 22. C#前後增量操作符重載如何操作?
- 23. dom操作後重新調用jquery插件
- 24. DOM操作導致SWF重新加載
- 25. DOM操作後綁定jQuery滑塊
- 26. 加載後的角度2 DOM操作
- 27. jquery,DOM操作後無法選擇TR
- 28. JQuery Mobile:操作DOM後訪問ID
- 29. dom操作後準備好的文檔
- 30. 如何才能在AJAX調用之後加載DOM後執行某些操作?
謝謝Frederic。 –
在網上找到最好的清潔解決方案。真棒! –