互联网在线时HTML5不缓存

时间:2016-12-20 05:30:48

标签: javascript php html html5 caching

此处我计划使用离线阅读机制构建 HTML5移动应用。

我在一个页面中有一些动态内容,我需要在互联网存在时显示。

我正在使用清单缓存机制。

我第一次加载动态页面时,在线时它被缓存,当在互联网上线时,我也能看到动态页面。

但问题是,当互联网连接再次出现时,不应该再次调用动态页面吗?但那并没有发生。

我试图在本博客中为mozilla firefox添加.htaccess文件http://html5doctor.com/go-offline-with-application-cache/

<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType text/cache-manifest "access plus 0 seconds"
</IfModule>

我为此目的浏览了很多博客和网站。例如: - https://www.sitepoint.com/common-pitfalls-avoid-using-html5-application-cache/

没有发生任何事情!!!

我的网页是:

1)home.html

<!DOCTYPE html>
<html manifest="dtt.appcache">
<body>

<p><button onClick="loadDoc(1)" type="button">home</button> || <button onClick="loadDoc(2)" type="button">centers</button> || <button onClick="loadDoc(3)" type="button">about us</button></p>

<!--<p><a href="home.html" >home</a> || <a href="centers.php" >centers</a> || <a href="about-us.html" >about us</a></p>-->

<div id="contentarea">
This is my home page.
</div>

 <script>

    function loadDoc(id) {

    var xhttp = new XMLHttpRequest();
      xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
          document.getElementById("contentarea").innerHTML =
          this.responseText;
        }
      };

    if(id == '1'){
         document.getElementById("contentarea").innerHTML =
          'This is my home page'
    } else if(id=='2'){


      xhttp.open("GET", "centers.php", true);
      xhttp.send();
  }else if(id=='3'){
  document.getElementById("contentarea").innerHTML =
          'This is my about us page'
  }
}
 </script>
</body>
</html>

2)centers.php

<!DOCTYPE html>
<html manifest="dtt.appcache">
<body>
<?php echo time().'<br>';?>
</body>
</html>

3)dtt.appcache

CACHE MANIFEST
# 2003-12-01 v2.0.0
home.html
centers.php
about-us.html

我的要求就像互联网连接一样简单,因为网页应该被缓存用于离线阅读(正在发生)以及每次应该从该动态内容页面读取互联网连接时。

1 个答案:

答案 0 :(得分:0)

实际上应用程序缓存功能现已已弃用。所以大多数浏览器都不会完全支持。 相反,您可以使用使用服务工作者的缓存存储功能。它也支持Chrome浏览器。