此处我计划使用离线阅读机制构建 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
我的要求就像互联网连接一样简单,因为网页应该被缓存用于离线阅读(正在发生)以及每次应该从该动态内容页面读取互联网连接时。
答案 0 :(得分:0)
实际上应用程序缓存功能现已已弃用。所以大多数浏览器都不会完全支持。 相反,您可以使用使用服务工作者的缓存存储功能。它也支持Chrome浏览器。