这是我的js的一部分:
window.location.reload();
$("#status").html('Try');
我希望页面重新加载,然后将“try”写入div“#status”。但相反的情况发生:div“#status”被写入一小段时间,然后它消失,然后重新加载页面,其中“#status”再次为空。
如何让它们以正确的顺序执行?
答案 0 :(得分:2)
如果这是你执行的方法,你可能会看到html更改的效果,因为页面确实及时开始重新加载。但是这个代码正在以正确的顺序执行。只是那个location.reload需要更多的时间来执行,然后只需更改元素的innerHtml。
答案 1 :(得分:2)
window.location.reload();
将事件发送到浏览器。因此从技术上讲,事件已经执行,并且会移动到下一行。
上面你的评论似乎暗示你想要的更多是一次加载,然后向div添加一些东西。我可能会使用URL中的哈希来读取这个......
var pageHash = window.location.hash;
if(pageHash.indexOf("firstLoad") == -1) {
//The page hasn't been loaded, so reload
window.location = window.location.origin + window.location.pathname + "#firstLoad";
} else {
$("#status").html('Try');
}
答案 2 :(得分:0)
Alegro这对你的情况有帮助
setTimeout(function(){window.location.reload();},5000);
$("#status").html('Try');
因此消息将被显示,并且在5秒后页面将被重新加载。