Фоновое поведение для веб-приложения iOS (поэтому приложение не перезагружается)

Я пытаюсь создать мобильное веб-приложение, и меня заинтриговала опция «apple-mobile-web-app-capable», которая делает приложение более родным.

Проблема, с которой я столкнулся, заключается в том, что это приложение позволяет пользователю просматривать кучу контента, некоторые из которых открывают новое окно браузера за пределами веб-приложения (намеренно). Проблема в том, что когда пользователь возвращается в веб-приложение, оно перезапускается и запускает его с домашней страницы.

Кто-нибудь нашел способ избежать этого полного процесса перезагрузки?


person Brenden    schedule 27.04.2011    source источник
comment
Возможно, это другое решение, которое вы хотите, но вы можете реализовать просмотр с вкладками в своем приложении, чтобы вы могли открывать несколько ссылок, не выходя из приложения и не перезапуская его.   -  person    schedule 09.08.2011


Ответы (3)


у меня это работает так:

if(window.navigator.standalone === true) {
    var lastpage = localStorage.getItem('exitsatus');
    if (lastpage==null){
        lastpage = "index.html";
    }
    if(document.referrer.length > 0 && document.referrer.indexOf("mysite.com") != -1){
        var lastpageupdate = window.location;
        localStorage.setItem('exitsatus',lastpageupdate);      
    } else {
        window.location = lastpage;
    }
}
person Raphael    schedule 19.12.2011
comment
Потрясающая работа вокруг. Это заставило мои творческие соки течь. Теперь мне нужно подумать о том, как сохранить сеанс сервера. - person Joel Mellon; 21.09.2012

Есть, но это что-то вроде взлома и требует JavaScript.

Что вы хотите сделать, так это в конце загрузки каждой страницы сохранить текущий путь в автономном хранилище ключей и значений. В своем head посмотрите, есть ли запись для URL-адреса, и если да, загрузите ее. Что вы хотите убедиться, так это то, что внутренние ссылки отключают этот ключ, чтобы вы не просто переходили по ссылке, а затем возвращались обратно.

person tmcnab    schedule 09.08.2011

ТАК из того, что я узнал от других людей за пределами ТАК, это просто невозможно.

person Brenden    schedule 20.05.2011
comment
localStorage доступен для всех веб-сайтов HTML5, даже на рабочем столе. - person Alexander; 15.05.2012