如何调试IE11的APPCACHE

4
我得到了一个在CHROME和SAFARI上运行的HTML5页面,但是在使用Internet Explorer 11时它无法工作。根据http://manifest-validator.com/,我的缓存清单是有效的,我非常沮丧...
以下是AppCache清单的粘贴内容:

mime type recognized

#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上的错误如下:类似于:服务器上不存在该资源。”

Something like: The resource doesn't exist on server.


IE 11不支持使用appcache,如果清单中的某个文件(或索引本身)与PHP SESSION一起使用,则无法正常工作。 - bacho
3个回答

5

添加

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

PHP会返回任何数据。PHP默认的Cache-Control头包含“no-store”,这会影响IE 11和Firefox中的appCache。


这是真正的解决方案。如果没有失去所有功能,可能无法删除session_start - Lorenz Meyer

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

在 session_start() 之后


1

如果清单中的某个文件(或者索引本身)使用PHP SESSION,则IE 11无法使用appcache。

您需要从每个PHP文件中删除以下任何一个属性:

session_start

cache no expire no store

确保MimeType是正确的


这是100%正确的。谢谢,bacho。我在使用Chrome时正确运行时仍无法在Firefox和IE 11中使appcache正常工作。我搜遍了所有地方。尽管许多人提到了“缓存不过期不存储”的要点,没有人提到PHP的session_start。然而这正是我的问题所在; 我删除了session_start,现在appcache在Firefox和IE 11上可以正常工作了。所以现在我很好奇为什么session_start会导致IE 11中的appcache失败。有人能解释一下吗? - BruceHill
1
如果Web应用程序需要session_start,那么这不是一个解决方案。 - Lorenz Meyer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接