HTML5 -如何离线工作的资源是远程的,但缓存在清单
HTML5 - How to work offline with resources that are remote but cached in manifest?
HTML5 manifest允许指定资源的绝对链接,例如:
缓存清单http://www.xerox.com/downloads/usa/en/x/xes_3000Series_Brochure.pdfChrome/Safari控制台日志显示文件缓存正确,因为它在manifest文件中指定。但是如何在iOS/Android上脱机访问该文件?我把链接放在页面上,就像在清单,绝对URL,当我在线时,它打开,在普通模式浏览器打开应用程序,但链接到pdf不工作,它说需要互联网连接,可能是合乎逻辑的,因为链接是绝对的,但我希望它会先检查清单。
也许有一些方法可以使用javascript访问manifest缓存项目,并提供链接到文件作为缓存中的一些实例,换句话说,使其像具有亲属url的项目一样工作,这不会导致任何问题。或者其他的变通方法。请告诉我,我错过什么了吗?
更新:我正在使用jQuery移动框架,也许这也会有所帮助,也许有人已经处理过了,但我没有找到任何有用的关于这个问题的文档和官方论坛
您不能直接访问该资源。AppCached文件只能从<html>
标签中包含给定清单的页面中访问。
当您访问PDF时,您离开了原始页面,并且浏览器(正确地)忽略了清单。
只是一个想法,你试过将PDF嵌入<iframe>
吗?
最好能够在浏览器中打开pdf,并根据用户需要选择不同的阅读器。经过进一步的检验,我得出结论,你说的是错的,虽然最初的想法是你是对的。即使你在manifest中设置相对url,当你在链接中使用相对url时,结果url无论如何都会成为浏览器的绝对url,考虑到该应用程序是缓存的,但我可以直接访问该文件。相对url没有问题的原因是它是小尺寸的图像,现在我正在处理大尺寸的pdf。我的结论是,不管你使用的是相对url还是绝对url,你都可以访问缓存中的文件。问题是iPad和iPhone的缓存限制为5Mb,如果manifest文件比设备要求的要大,那么它会完全停止缓存过程。所以我想我需要看看部分缓存的一些解决方案5Mb在一个部分和动态清单。所以现在它变成了一个不同的问题。哇!我以为这会更简单,该死的pdf))
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 如何在从浏览缓存加载页面时执行javascript
- 用于检查数组中是否存在元素的javascript自定义方法
- ReactJS和SpringDataRest缓存问题可能与websocket有关
- 缓存谷歌地图数据
- 未捕获的类型错误:无法读取属性'name'即使它存在,也无法定义
- 正在将事件处理程序添加到不存在的类
- 是否存在React Native“;WEB代码安全防护”;
- 一个密码测试程序,如果存在空格,它会提醒用户
- 验证会话中是否存在对象's数组
- 将此 pdf 保存在 ionic 上的缓存/本地存储中
- 我的网站存在火狐缓存问题
- 当promise中发生错误时,数据缓存在服务器或客户端上,或者根本不缓存在AngularJS中
- Javascript:检测是否缓存了请求的文件,如果存在较新版本,则删除缓存
- GhostDriver 在现有元素上执行 javascript 时引发陈旧异常“元素在缓存中不存在”
- JS -画布从图像文件-工作仅与浏览器缓存存在
- 强制缓存控制:无缓存在Chrome浏览器通过XMLHttpRequest在F5重新加载