【问题标题】:How to debugg IE11 APPCACHE如何调试 IE11 缓存
【发布时间】:2014-01-09 16:37:54
【问题描述】:

我有一个 HTML5 页面,可以与 CHROME 和 SAFARI 一起使用 但是使用 Internet Explorer 11 它不起作用,我的缓存清单根据http://manifest-validator.com/ 是有效的,我非常沮丧......

这是 AppCache 清单的粘贴:

#version 1.1 12-20-2013
CACHE:

#images
imgs/enc1.png
imgs/logo-izq.png
#internal HTML documents
index.php
#style sheets
css/css.css
css/jquery-ui-1.10.3.custom.min.css
#style sheet images
css/images/animated-overlay.gif
css/images/ui-bg_flat_0_aaaaaa_40x100.png
css/images/ui-bg_flat_75_ffffff_40x100.png
css/images/ui-bg_glass_55_fbf9ee_1x400.png
css/images/ui-bg_glass_65_ffffff_1x400.png
css/images/ui-bg_glass_75_dadada_1x400.png
css/images/ui-bg_glass_75_e6e6e6_1x400.png
css/images/ui-bg_glass_95_fef1ec_1x400.png
css/images/ui-bg_highlight-soft_75_cccccc_1x100.png
css/images/ui-icons_222222_256x240.png
css/images/ui-icons_2e83ff_256x240.png
css/images/ui-icons_454545_256x240.png
css/images/ui-icons_888888_256x240.png
css/images/ui-icons_cd0a0a_256x240.png
#javascript files
js/jquery.min.js
js/offline.js
js/jquery-ui.min.js
#FORMULARIOS OFFLINE
1/4-offline.php
1/5-offline.php
1/6-offline.php
2/4-offline.php
2/5-offline.php
2/6-offline.php
3/4-offline.php
3/5-offline.php
3/6-offline.php
NETWORK:
*
FALLBACK:
js/online.js js/offline.js
online.php offline.php
/ offline_plantilla.php

开发站点是这个:

IE11上的错误如下: 类似于:该资源在服务器上不存在。

【问题讨论】:

  • 如果清单中的某些文件(或索引本身)适用于 PHP SESSION,则 IE 11 不适用于 appcache

标签: php internet-explorer mime-types html5-appcache


【解决方案1】:

添加

header("Cache-Control: no-cache, must-revalidate");

在 session_start() 之后

【讨论】:

    【解决方案2】:

    添加

    header("Cache-Control: no-cache, must-revalidate");
    

    对于 php 返回的任何数据。来自 php 的默认 Cache-Control 标头包含“no-store”,这会在 IE 11 和 Firefox 中弄乱 appCache。

    【讨论】:

    • 这是真正的解决方案。在不丢失所有功能的情况下,可能无法删除 session_start
    【解决方案3】:

    如果清单中的某些文件(或索引本身)适用于 PHP SESSION,则 IE 11 不适用于 appcache

    您需要从每个 PHP 中删除任何此属性:

    会话开始

    缓存不过期不存储

    确保 MimeType 正确

    【讨论】:

    • 这是 100% 正确的。谢谢,巴乔。我在让 appcache 在 Firefox 和 IE 11 中工作时遇到问题,即使它在 Chrome 中正常工作也是如此。我搜索了到处。尽管很多人提到“缓存不过期不存储”这一点,NO-ONE 还是提到了 PHP 的 session_start。然而这正是我的问题;我删除了 session_start 并且 appcache 现在可以在 Firefox 和 IE 11 上正常工作。所以现在我很好奇为什么 session_start 会导致 appcache 在 IE 11 中失败。有人可以解释一下吗?
    • 如果网络应用需要session_start,那么这不是解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-09
    • 2016-10-11
    • 2017-04-11
    • 1970-01-01
    • 2021-05-26
    相关资源
    最近更新 更多