我目前正在編寫一個JavaScript程序,我想刷新一個網頁,然後繼續調用一個函數,修改後來新刷新的頁面。但是,無論何時調用location.reload(),頁面都會在刷新之前執行操作,儘管事實上我已經將它們放在代碼中的刷新之後。如何讓頁面在刷新後形成動作?如何刷新頁面,然後繼續執行操作?
3
A
回答
1
頁面重新加載後Javascript不會繼續執行,它會重新開始。
如果你真的需要刷新頁面然後開始一個特定的動作,你必須有一些方法來告訴你的代碼從停止的地方開始。
解決此問題的一種方法是向網址添加哈希值,該哈希值將用作繼續執行的標誌。
window.location.href += "#continueScript";
location.reload();
然後在你的函數中檢查散列。
if(window.location.hash == "#continueScript") {
continueMyScript();
};
3
你可以欺騙做到這一點使用的sessionStorage:
//in some function:
sessionStorage.setItem('onReload', 'doFn1');
location.reload();
//elsewhere, to be called on page load:
if(sessionStorage.getItem('onReload') === 'doFn1') {
sessionStorage.setItem('onReload', '');
// do your code
}
不過說到底,這是不是一個好的做法。你爲什麼重新加載頁面?你可能可以完成你想要的而不用頁面重新加載。
相關問題
- 1. 如何在繼續執行之前'刷新'UI線程操作
- 2. 繼續使用頁面後cookie.js刷新
- 3. 頁面刷新後繼續AJAX請求
- 4. JS:計時器在頁面刷新後仍然繼續
- 5. 與默認操作,然後再繼續執行AJAX請求
- 6. 如何在頁面刷新後繼續定時器?
- 7. Javascript - 循環在頁面刷新後繼續運行
- 8. 在javascript中操作後刷新頁面
- 9. PHP:執行命令,然後繼續?
- 10. 。頁面刷新後不執行.load()
- 11. 內容頁面Response.End繼續執行主頁面執行
- 12. 如何在不刷新頁面的情況下如何執行此操作?
- 13. Cocos2d CCActionManager繼續執行所有操作
- 14. 頁面刷新後Flash上傳會繼續
- 15. 如何不在CakePHP3中添加操作後刷新頁面
- 16. 持續4秒的php功能,然後刷新頁面
- 17. 如何刷新數據到瀏覽器,但繼續執行
- 18. 即使刷新頁面,Javascript仍會繼續運行
- 19. 如何在執行異步功能後刷新頁面
- 20. 如何在java方法執行完成後刷新頁面
- 21. 如何在頁面刷新後延遲javascript函數執行?
- 22. 如何在頁面刷新後執行jQuery
- 23. 如何防止在頁面刷新時執行commandbutton中的操作?
- 24. 在刷新JQM頁面,然後火pageinit
- 25. 設置cookie然後刷新頁面,PHP
- 26. 如何在ios/xcode中聲明c後繼續執行或繼續執行?
- 27. 如何執行IF語句,然後繼續執行其他代碼
- 28. Angular2:ngFor在頁面呈現後繼續執行
- 29. componentDidUpdate在頁面導航後繼續執行
- 30. SIGALRM:在執行後繼續執行
您必須將該代碼放在*新頁面*中。 'location.reload()'會影響新頁面後,舊頁面沒有任何操作。這就是它的工作原理。 – Pointy
你能否給我們提供一些示例代碼,並給我們一些你想要完成的內容的背景? –
'location.reload()'是非阻塞的,因此它在完成重新加載之前被執行 –