IE11 没有将任何内容保存到 appCache

IE11 is not saving anything to appCache

我正在为客户制作演示站点的脱机版本,但在使其在 IE11 中运行时遇到了一些问题。这是我第一次使用 AppCache,顺便说一句。

页面上有一个按钮可以保存演示文稿以供离线使用。按下时,我首先生成一个新的清单文件,用于两个需要离线使用的页面。这是一个例子:

CACHE MANIFEST
# 12-7-2016 09:30

# Common cached entries
/lib/tslib/ts.js
/lib/tslib/selector.js
/lib/ilscript.js
/lib/compatibility.js
/lib/tangora.public.imagerotator.js
/lib/snippethandlers.js
/setup/site.css
/lib/tangora.public.layout.js
/lib/tangora.public.list.js
/setup/clientscript.js
/html/lsig_toolbox.js
/lib/ajax.js
/media/system/lsig_toolbox_icon_home.png
/media/system/lsig_toolbox_icon_logout.png
/media/system/lsig_toolbox_body_bg_grey_black.png
/media/site_top_presentations.jpg
/media/system/lsig_toolbox_nav1_active_bg_black.png
/media/system/lsig_toolbox_presentations_date_bg.png
/media/system/lsig_toolbox_slide_number_bg.png
/media/system/lsig_toolbox_btn_bg_back.png
/media/system/lsig_toolbox_btn_bg_show.png
/setup/dialog_close_outlined.png
/setup/1x1.gif
/lib/tslib/tdom.js
/lib/tslib/terrorhandler.js
/lib/tslib/tbrowser.js
/lib/lightbox.js
/lib/animation.js
/setup/layout34/generic.css
/setup/layout34/master.css
/setup/layout34/TBF0DC2CGCB5H/navigation1.css
/setup/layout34/TBF0DC2CGGB5L/navigation1.css
/setup/layout34/TBF0DC2CGCB5H/navigation.css
/setup/layout34/TBF0DC2CGGB5L/navigation.css
/lib/BusyView.js

# Additional cached resources
/media/system/lsig_toolbox_document_icon_pdf.png
/ref.aspx?action=show&id=9155
/media/lsig_tools/imagegenerator/95x0/Ceasar_Salad.png
/ref.aspx?action=show&id=9372
/media/lsig_tools/imagegenerator/95x0/Potatopie_with_quark.png
/media/lsig_tools/imagegenerator/0x755/upscale(false)/Potatopie_with_quark.png
/media/lsig_tools/imagegenerator/95x0/Artisan_quark_ice-cream.png
/media/lsig_tools/imagegenerator/0x755/upscale(false)/Artisan_quark_ice-cream.png

FALLBACK:
/ /Saved-presentations

NETWORK:
*

然后,我在 html 标记中创建了两个隐藏的 iframe,其中包含带有此清单文件的两个页面。然后我等待 updateready 或缓存事件,然后再次删除两个 iframe。

检查和进度事件被触发,最后两个页面的缓存事件和控制台也告诉它正在使用清单创建 AppCache,但没有保存任何内容。当我离线时,它只显示 "No internet connection".

有人知道我做错了什么吗?如果您需要更多信息,请告诉我。

我发现出了什么问题。我在本地保存的文件之一是使用 header Content-Disposition: inline; filename=filename.pdf 提供 pdf 文件,显然这使 IE11 无提示地失败。没有触发错误事件。

我的解决方法是将 pdf 文件保存在应用程序缓存中,并将为文件提供服务的 URL 添加到后备部分,这样当用户请求 URL 时,他们就会得到 pdf。