如何刷新页面,然后继续执行操作?

时间:2015-11-19 22:05:36

标签: javascript

我目前正在编写一个javascript程序,我想刷新一个网页,然后继续调用一个修改了新刷新页面的函数。

但是,每当我调用location.reload()时,页面最终会在刷新之前执行操作,尽管事实上我已经在代码中刷新之后放置了它们。刷新后如何让页面形成动作?

2 个答案:

答案 0 :(得分: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 :(得分:1)

Javascript在页面重新加载后没有继续执行,它开始新鲜。

如果你真的需要刷新页面然后开始一个特定的操作,你必须要有一些方法告诉你的代码从它停止的地方开始。

解决问题的一种方法是在url中添加一个哈希值,该哈希值将作为继续执行的标志。

window.location.href += "#continueScript";
location.reload();

然后在你的函数中检查哈希值。

if(window.location.hash == "#continueScript") {
    continueMyScript();
};