如何强制Android Web应用程序在每次打开时强制刷新?

时间:2018-01-27 16:27:24

标签: android caching web-applications

我有一个非常简单的Android网络应用程序固定到主屏幕。当我使用应用程序,这是一个简单的待办事项管理器,从多个地方发生我从计算机添加一些待办事项,但我从电话检查它们。问题是,每当应用程序已加载并且我从主屏幕打开它时,内容不会刷新。

每次打开应用程序时都有办法强制重新加载吗?我尝试将一些meta http-equiv=cache-control插入到index.html或者将onload,onfocus,...事件添加到html正文中,但它们都没有帮助。

manifest.jsonindex.html没什么特别的,JS通过AJAX请求从服务器填充容器DIV。

的manifest.json:

{
  "name": "ToDoMan",
  "icons": [
    {
      "src": "../media/favicon-192.png",
      "sizes": "192x192",
      "type": "image/png"
    }
  ],
  "theme_color": "#004c8b",
  "background_color": "#0277bc",
  "display": "standalone"
}

的index.html:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
<link rel="shortcut icon" sizes="192x192" href="media/favicon-192.png">
<link rel="manifest" href="css_js/manifest.json">
<link href="css_js/todoman.css" rel="stylesheet" type="text/css" media="screen"/>
<script src="css_js/jquery.min.js"></script>
<script src="css_js/jquery.detect_swipe.js"></script>
<script src="css_js/scripts.js"></script>
</head>
<body>
  <div id="container"></div>
  <div id="loader"></div>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

我找到了Auto refresh code in HTML using meta tags

尝试<meta http-equiv="refresh" content="1">,但这会每秒刷新一次。

您可以尝试使用不同的重定向网址<meta http-equiv="refresh" content="1; url=app.html">

答案 1 :(得分:0)

因此,事实证明,您可以检查页面是否可见,因此您可以将事件侦听器绑定到它:

function handleVisibilityChange(){
  if(document.visibilityState == "visible"){
    load_container();
  }
}

document.addEventListener('visibilitychange', handleVisibilityChange);