这是我的js的一部分:
window.location.reload();
$("#status").html('Try');
我希望页面重新加载,然后将“try”写入 div“#status”。但相反的情况发生了:div“#status”被写入了一小段时间,然后它消失了,然后页面重新加载,其中“#status”再次为空。
如何让它们以正确的顺序执行?
这是我的js的一部分:
window.location.reload();
$("#status").html('Try');
我希望页面重新加载,然后将“try”写入 div“#status”。但相反的情况发生了:div“#status”被写入了一小段时间,然后它消失了,然后页面重新加载,其中“#status”再次为空。
如何让它们以正确的顺序执行?
如果这是在您执行的方法中,您可能会看到更改 html 的效果,因为页面确实及时启动以重新加载。但是这段代码是以正确的顺序执行的。它只是 location.reload 需要更多时间来执行,然后只需更改元素的 innerHtml 。
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');
}
Alegro 这可以帮助你的情况
setTimeout(function(){window.location.reload();},5000);
$("#status").html('Try');
因此将显示消息,并且在 5 秒后页面将重新加载。