我目前正在编写一个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. 内容页面Response.End继续执行主页面执行
- 5. 页面刷新后Flash上传会继续
- 6. 如何不在CakePHP3中添加操作后刷新页面
- 7. 即使刷新页面,Javascript仍会继续运行
- 8. 如何在页面刷新后延迟javascript函数执行?
- 9. 在刷新JQM页面,然后火pageinit
- 10. 如何在ios/xcode中声明c后继续执行或继续执行?
- 11. 如何执行IF语句,然后继续执行其他代码
- 12. componentDidUpdate在页面导航后继续执行
- 13. 执行是刷新JSP页面
- 14. 我执行ssh后如何继续执行我的python脚本
- 15. 等待地理编码器功能完成执行,然后继续然后继续
- 16. openerp RML,如何继续在新页面中打印表格行?
- 17. 加载页面,然后执行JavaScript的
- 18. 在调用操作后页面不会刷新
- 19. 在asp.net中的回发操作后刷新页面
- 20. 页面刷新时继续隐藏HTML输入字段?
- 21. 页面加载后如何刷新javascript
- 22. 进入后台后,应用程序是否继续执行网络操作?
- 23. 执行操作并重定向到相同的URL不会刷新页面
- 24. 弹出窗口在我关闭并刷新页面后继续打开?
- 25. 可以wp_die()第一个块,然后继续页面加载
- 26. Chrome扩展,进样HTML然后继续加载页面
- 27. 页面刷新/刷新在jQuery Mobile的每个页面上执行$(document).ready()
- 28. jQuery Mobile:如何使用动态DOM操作刷新页面?
- 29. 首先在IEnumerable中跳过,然后继续执行
- 30. 即使条件满足后,for循环仍然继续执行
您必须将该代码放在*新页面*中。 'location.reload()'会影响新页面后,旧页面没有任何操作。这就是它的工作原理。 – Pointy
你能否给我们提供一些示例代码,并给我们一些你想要完成的内容的背景? –
'location.reload()'是非阻塞的,因此它在完成重新加载之前被执行 –