我正在创建一个网站,用户可以在其中说明要缓存的项目。基于此,生成清单文件。通过这样做,用户仍然可以在他离线时浏览网站。这在Google Chrome中都运行良好。但是在iPad上却无法正常工作。 有时事情会被缓存,有时甚至不是我访问过的页面。
我们整个上午都在测试2台iPad,但我们无法在两台iPad上获得相同的结果。即使我们做同样的事情,我们有时会得到不同的结果。
所以我们做了什么:
有时在一台iPad上(这是iPad 1),它的工作原理应该如此,但有时根本不起作用。 在另一台iPad(这是iPad 2)上,它永远不会完全正常工作。只是一些随机的结果。
当我们完全关闭safari,然后清除缓存然后执行下载和缓存内容的整个过程时,结果看起来也不同......
有人可以帮我解决这个问题吗?此刻屁股真的很痛苦...... :(
答案 0 :(得分:2)
text/cache-manifest
iisreset
它对我有用。
答案 1 :(得分:0)
我在使用ipad缓存时遇到了一些问题。
由于Windows托管,清单文件的MIME类型未正确设置。 Windows服务器上的标准MIME类型是“application / x-ms-manifest”。这是在ClickOnce应用程序生效时创建的。处理safari所需的MIME类型是:“text / cache-manifest”
ipad上的缓存大小太小(你应该收到警告放大)
Ipad需要时间!我注意到当您看到所有资产或网站被“加载”时,缓存未填充。在将网站放置到主屏幕之前,将其加载到正常加载时间的两倍。
缓存缓存:)只有在服务器上的修改日期发生变化时,iPad才会重新加载文件。因此,当您真的想要测试时,清除iPad上的所有缓存,删除主屏幕上的链接并再次上传所有文件。
结论:耗费时间!
提示:在桌面或iPad上的safari中打开调试控制台。如果你做错了什么或者它是iPad上的缓存问题,它会提供一个公平的想法。
答案 2 :(得分:0)
看起来问题与应用程序缓存没有任何关系。这在某种程度上是cookie /我动态构建清单文件的方式的问题。
答案 3 :(得分:0)
我想稍微回应一下Pieter-Paulus Vertongen,我有类似的Windows托管经验。
根据Safari中的调试控制台,清单文件的mime类型被误读,结果没有下载任何内容。
我将所有文件(包括.htaccess文件)复制到linux服务器而不更改文件中的任何内容......然后缓存工作得非常好。
所以是的,这可能是托管文件的问题。使用调试控制台和Jonathan Stark的代码找出: