我正在尝试构建一个移动网络应用程序,并且对“apple-mobile-web-app-capable”选项很感兴趣,这让该应用程序感觉更加原生。
我遇到的问题是它是一个允许用户浏览一堆内容的应用程序,其中一些内容会在网络应用程序之外打开一个新的浏览器窗口(故意)。问题是,当用户返回 Web 应用程序时,它会重新启动并从主页启动它们。
有没有人找到一种方法来避免这个完整的重新加载过程?
我正在尝试构建一个移动网络应用程序,并且对“apple-mobile-web-app-capable”选项很感兴趣,这让该应用程序感觉更加原生。
我遇到的问题是它是一个允许用户浏览一堆内容的应用程序,其中一些内容会在网络应用程序之外打开一个新的浏览器窗口(故意)。问题是,当用户返回 Web 应用程序时,它会重新启动并从主页启动它们。
有没有人找到一种方法来避免这个完整的重新加载过程?
我让它像这样工作:
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;
}
}
有,但它有点 hack 并且需要一些 JavaScript。
您要做的是在每次页面加载结束时,将当前路径保存在离线键值存储中。在您的head
中,查看是否有 URL 条目,如果有,请加载它。您要确保内部链接禁用此键,这样您就不会只是跳转到链接然后再返回。
所以从我从 SO 以外的其他人那里收集到的信息来看,这是不可能的。