Jquery mobile jQuery Mobile以编程方式重新初始化/重启应用程序

Jquery mobile jQuery Mobile以编程方式重新初始化/重启应用程序,jquery-mobile,cordova,Jquery Mobile,Cordova,我正在用phonegap和jquery mobile编写一个应用程序 为了处理未知错误,我需要完全重新启动我的应用程序,并重新初始化所有变量和动态内容,使其恢复到第一次运行时的状态 最初我只是使用$.mobile.changePage($'#home'),这显然不起作用,因为它不会重新初始化任何动态内容或变量,所以我最终使用了双重备份 是否有一种方法可以在jquery mobile中调用以完全重新启动应用程序并将所有内容设置回初始设置?您可以检查特定页面的pagebeforeshow并初始化为所

我正在用phonegap和jquery mobile编写一个应用程序

为了处理未知错误,我需要完全重新启动我的应用程序,并重新初始化所有变量和动态内容,使其恢复到第一次运行时的状态

最初我只是使用$.mobile.changePage($'#home'),这显然不起作用,因为它不会重新初始化任何动态内容或变量,所以我最终使用了双重备份


是否有一种方法可以在jquery mobile中调用以完全重新启动应用程序并将所有内容设置回初始设置?

您可以检查特定页面的pagebeforeshow并初始化为所需的值,而不是重新启动应用程序。因此,每次访问该页面时,值都将被初始化

$.mobile.changePage( "#PageID", {
     reverse: false,
    changeHash: false

});


$(document).on('pagebeforeshow','#PageID',function(){

/* Intialise all your variables here*/


});
你试过使用这个应用程序吗

重载()方法用于重载当前文档。
重载()方法的作用与浏览器中的重载按钮相同。
默认情况下,reload()方法从缓存重新加载,但通过将forceGet参数设置为true,可以强制重新加载从服务器获取页面


请尝试,document.location.href

document.location.href = 'index.html';

要想得到一个完整的解决方案,我认为你运气不好

iOS绝对不允许程序性终止应用程序,更不用说程序性启动应用程序了

Android确实允许杀掉一个应用程序。虽然没有文件(我可以找到),但你可以使用

navigator.app.exitApp()

要杀死当前的应用程序

但是,您仍然无法通过编程重新启动它


我认为最好的办法是编写代码来重置变量和本地存储/DB(如果使用)。然后通过
document.location.href='index.html?var=xxx'重新加载索引页面其中xxx=当前时间戳。将时间戳放在末尾将确保它提取页面的非缓存版本


*编辑:我的声明中没有添加苹果允许应用程序杀戮的内容,因为它本应如此。

关于
navigator.app.exitAPp()
和timestamp href的提示都很好。我刚刚收到通知,很多人正在读这篇文章,所以我想我会更新一下。终止应用程序会导致IOS出现问题,如果您使用的是后台活动的cordova插件,也会导致问题,因此我实际上最终编写了一个手动重置函数,该函数会执行并将所有变量设置回默认值。不理想或不美观,但功能良好。document.location.href='index.html';不在ios中工作
document.location.href = 'index.html';