Javascript 如何在不刷新页面的情况下重新启动内容?

Javascript 如何在不刷新页面的情况下重新启动内容?,javascript,jquery,html,Javascript,Jquery,Html,我正在制作一个快速JS web应用程序,我希望能够在不重新加载网页的情况下重新启动应用程序。这样,浏览器就不需要在每次想重新启动应用程序时再次获取资源,并且可以在不访问互联网的情况下重新启动。将您的所有值重置为默认值,例如,类似于您在init中所做的操作 var currentState, // how things are defaultState = { // how things start count: 0 }; function reset()

我正在制作一个快速JS web应用程序,我希望能够在不重新加载网页的情况下重新启动应用程序。这样,浏览器就不需要在每次想重新启动应用程序时再次获取资源,并且可以在不访问互联网的情况下重新启动。

将您的所有值重置为默认值,例如,类似于您在
init
中所做的操作

var currentState,    // how things are
    defaultState = { // how things start
        count: 0
    };

function reset() { // make things how they start
    currentState = {};
    for (var key in defaultState) {
        currentState[key] = defaultState[key];
    }
}
function init() { // first time setup
    reset();
}
function count() {
    return ++currentState.count;
}
init(); // prepare everything
// have fun
count(); count(); count(); count(); // 4
// go back
reset();
count(); // 1

当然,如果您正在操作DOM,那么重建原始状态将比简单的
a=b

将所有值重置为默认值,例如,类似于在
init
中执行的操作

var currentState,    // how things are
    defaultState = { // how things start
        count: 0
    };

function reset() { // make things how they start
    currentState = {};
    for (var key in defaultState) {
        currentState[key] = defaultState[key];
    }
}
function init() { // first time setup
    reset();
}
function count() {
    return ++currentState.count;
}
init(); // prepare everything
// have fun
count(); count(); count(); count(); // 4
// go back
reset();
count(); // 1

当然,如果您正在操作DOM,那么重建原始状态将比简单的
a=b

您可以使用
document.location.reload()
从缓存中重新加载页面


当然,更好的解决方案是重置变量,但我们无法在不查看代码的情况下为您提供帮助。

您可以使用
document.location.reload()
从缓存中重新加载页面

window.location.reload(false);
当然,更好的解决方案是重置变量,但我们无法在不查看代码的情况下为您提供帮助

window.location.reload(false);
false
标志将重新执行网站,而不会从本地缓存的网站重新加载任何内容。您还可以传递将重新加载所有资源的
true


false
标志将重新执行网站,而不会从本地缓存的网站重新加载任何内容。您还可以传递将重新加载所有资源的
true

“重新启动”可能意味着很多事情,具体取决于您的代码实际执行的操作。因此,请在您的问题中发布相关代码。我正在寻找类似window.location.reload()的内容,但只需重新加载页面内容,而无需从网页中获取资源。“重新启动”可能意味着很多事情,具体取决于您的代码实际执行的操作。因此,请在您的问题中发布相关代码。我正在寻找类似window.location.reload()的内容,但只需重新加载页面内容,而无需从网页中获取资源。因此,使用此解决方案只意味着我只需手动重置网页。DOM中没有预定义的版本,只重新加载一个元素?预定义的版本是
window.location.reload
,但这将从浏览器的缓存中重新加载它所能加载的内容,我们不知道您还发生了什么(也许你已经通过ajax缓存了一些数据,你没有发送缓存头,或者是一个非常复杂和耗时的启动生成素数之类的东西?哈哈)以这种方式手动执行意味着,除非您显式地清除内容,否则内存根本不会被清除。如果您要这样做,请尝试将所有内容保留在您自己的命名空间中,并清除任何超时,这样变量就不会在您身上流失。这将使调试变得更加容易。因此,使用此解决方案意味着我只是手动重置网页。DOM中没有预定义的版本,只是重新加载一个元素?预定义的是
window.location.reload
,但这将从浏览器缓存中重新加载它可以加载的内容,我们不知道您还有什么其他操作(也许你已经通过ajax缓存了一些数据,你没有发送缓存头,或者是一个非常复杂和耗时的启动生成素数之类的东西?哈哈)以这种方式手动执行意味着,除非您显式地清除内容,否则不会清除内存。如果您要这样做,请尝试将所有内容保留在您自己的命名空间中,并清除任何超时,这样变量就不会在您身上流失。这将使调试变得更加容易。