Есть ли способ обновить приложение phonegap - например, создать страницу и начать запуск скриптов с самого начала?
Есть ли способ сделать это?
Например, если пользователь запускает приложение без подключения к Интернету, удаленные сценарии не могут быть загружены, и приложение в принципе не может работать, и я показываю страницу "Нет Интернета". Но если пользователь получит интернет позже и приложение все еще работает, есть ли способ просто "перезапустить"?
Ответы
Ответ 1
как насчет -
document.location = "index.html"
Приложения PhoneGap подобны встроенному веб-сайту - вы должны иметь возможность перейти к любой гиперссылке, которую вы хотите (помните о белых списках).
Конечно, если вы также хотите обнаружить, когда он снова подключен к сети, вы должны использовать API телефонной сети для привязки к этим онлайн-событиям в автономном режиме.
В общем, вы когда-нибудь задумывались о том, чтобы использовать функциональность манифеста HTML5, чтобы позволить вашему локальному приложению PhoneGap кешировать эти удаленные сценарии? Таким образом, ваше приложение все равно может работать даже в автономном режиме (кроме случаев, когда ему нужны удаленные данные, чтобы "сделать свою вещь" )...
Надеюсь, это поможет!
Ответ 2
Попробуйте это
navigator.app.loadUrl("file:///android_asset/www/index.html", {wait:2000, loadingDialog:"Wait,Loading App", loadUrlTimeoutValue: 60000});
Ответ 3
Принятое решение работает, но может потерпеть неудачу, если у вас есть SPA с маршрутизацией html5 url.
Здесь самое безопасное решение:
// keep startup url (in case your app is an SPA with html5 url routing)
var initialHref = window.location.href;
function restartApplication() {
// Show splash screen (useful if your app takes time to load)
navigator.splashscreen.show();
// Reload original app url (ie your index.html file)
window.location = initialHref;
}