首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在iPhone上忽略脱机缓存声明

在iPhone上忽略脱机缓存声明
EN

Stack Overflow用户
提问于 2012-06-24 14:46:05
回答 2查看 1.4K关注 0票数 1

我有一个演示应用程序,应该是一个创建在移动设备上工作的离线应用程序的例子。我已经创建了一个舱单文件,并且正在使用正确的MIME类型提供服务,但是应用程序中的主图像总是在线获取,如果我进入飞机模式,尽管在缓存中,该图像不会加载。

为什么图像不在离线缓存中?

更新

现在我有了一个有效的应用程序缓存清单,但是在iPhone上,我仍然没有得到主图像--即使是在线的时候。我有一个手动刷新按钮,通常在第二次或第三次尝试时获得图像,但是当我从主屏幕打开应用程序时,它有一个“?”代替占位符。

更新

我对这个例子进行了大量的简化,并包含了很多建议,但仍然存在问题。以下是我已经尝试过的步骤。

  1. 完全删除了JavaScript页面只显示了一个静态图像
  2. 用小于25 all的文件替换所有图像
  3. 向清单中添加了一个NETWORK: *
  4. NETWORK: *移动到CACHE:头上方。
  5. 尝试将"manifest.appcache“重命名为"cache.manifest”

它在Firefox中工作在离线模式下,磁盘缓存为空(即确保它只能使用脱机缓存!)但在IOS上仍然显示出可怕的蓝色问号(在iPhone 4s上测试)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-26 13:34:09

经过大量的试验和错误,我可以确定我已经解决了这个问题。

答案是奇怪的,但我已经仔细检查了一下,以确保单凭这一改变就能使问题出现/消失。

如果要将应用程序添加到IOS主屏幕中,通常建议使用以下元标记:

代码语言:javascript
运行
复制
<meta name="apple-mobile-web-app-capable" content="yes">

但实际上,别再加这个了。从我的演示应用程序中删除这个标签立即修复了IOS 5.1.1上的问题,所以你需要决定你是否必须有离线缓存,或者你是否必须有全屏风格,而不是运行在Safari中。

票数 1
EN

Stack Overflow用户

发布于 2012-06-24 14:52:25

由于缺少文件,您的缓存文件似乎是无效的。试着使你的路径相对,例如Puzzle/page.png

运行验证器会产生以下错误:

第3行:资源未找到http://www.stevefenton.co.uk/Puzzle/CACHE第4行:资源未找到http://www.stevefenton.co.uk/index.html第5行:资源未找到http://www.stevefenton.co.uk/apple-touch-icon.png第6行资源未找到http://www.stevefenton.co.uk/page.png第7行资源未找到http://www.stevefenton.co.uk/knight.png第10行:资源未找到http://www.stevefenton.co.uk/style.css

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11178391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档