回答
重新啓動而不刷新頁面的唯一方法是讓您手動將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. Javascript DOM樹重複操作
- 2. DOM操作重建整個DOM結構
- 3. 在DOM操作後清空OpenLayers畫布
- 4. 如何在搜索後重置操作欄搜索?
- 5. DOM操作在PHP
- 6. 如何在Fancybox內容上操作DOM?
- 7. 如何在jsRender呈現模板之後操作DOM?
- 8. 重置操作
- 9. Extjs dom操作
- 10. jquery-dom操作
- 11. jQuery DOM操作
- 12. PHP中的DOM DOM操作
- 13. dom操作後重新調用jquery插件
- 14. C#前後增量操作符重載如何操作?
- 15. jquery,DOM操作後無法選擇TR
- 16. DOM操作後綁定jQuery滑塊
- 17. DOM操作導致SWF重新加載
- 18. 如何才能在AJAX調用之後加載DOM後執行某些操作?
- 19. 如何停止瀏覽器重繪,直到DOM操作完成?
- 20. 微軟Edge Extension,如何操作popup.html DOM
- 21. 如何使用Ruby on Rails操作DOM
- 22. 如何操作非DOM的jQuery對象
- 23. Angular2 + Typescript:如何操作DOM元素?
- 24. 我如何使用PHP來操作DOM?
- 25. Backbone.js和DOM操作
- 26. vala Webkit.WebView DOM操作
- 27. 拖放DOM操作
- 28. 大量的JS DOM注入/操作後的DOM驗證
- 29. DOM操作不起作用
- 30. 多個小型DOM操作與一個大型DOM操作
謝謝Frederic。 –
在網上找到最好的清潔解決方案。真棒! –