如何在 iPhone Web 应用程序上存储超过 5 MB 的数据?
我正在开发一个杂志/作品集应用程序,旨在离线阅读,并保存为主页上的图标。
这使用了大量图像,但是虽然我可以将图像保持在可观的大小(200 KB 或更少,针对 iPhone 与 iPad 进行更改),但页面的大小超过了 Web 应用程序缓存的 5 MB 限制。
我已经尝试过缓存清单,但如果设备关闭或清除缓存(我在开发时经常这样做),则信息将永远消失(如果我再次在线访问已添加书签的网站,则不会重新保存)。
我正在探索使用 base64 将较小的图标存储在 CSS 文件中,但不确定如何为其他信息(背景、图像、文本等)构建本地存储数据库,这些信息将持久存在而不依赖于Safari 缓存。
这可能吗?
(该项目旨在成为一个开源出版引擎,以便更多的人可以为 iPad 创建数字“杂志”。)
I am working on a magazine/portfolio application that is intended to be readable offline, saved as an icon on the home page.
This is using a lot of images, but while I can keep the images down to a respectable size (200 KB or less, with alterations for iPhone vs iPad) the amount for the page surpasses the 5 MB limit for a web app cache.
I have tried the cache manifest, but if the device is turned off or I clear the cache (which I do a lot while developing) the information is gone forever (and does not get resaved if I visit the bookmarked site while online again).
I am exploring the use of base64 to store the smaller icons in a CSS file, but am not sure about how to build a local storage database for the other information (backgrounds, images, text, etc) that will be persistent without being tied to the Safari cache.
Is this even possible?
(The project is intended to be an open source publishing engine, so more people can create digital 'zines for the iPad.)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你不能...
如果你将你的应用程序限制为 iPhone 上的 Web 应用程序,那么你的选项就仅限于设备上提供的内容。我相信带有 mobile safari 的 sqlitedb 限制为 5MB。
您可以研究像 PhoneGap 这样的技术,它提供了多个平台上基于 HTML5 Web 的应用程序的包装。该包装器将允许您访问本机设备,然后您可以将设备上的其他数据存储在本机数据库的平面文件中,而没有 5MB 的限制
you can't...
if you are limiting your application to a web application on the iphone, then your options are limited to what is provided on the device. I believe sqlitedb with mobile safari is limited to 5MB.
You can look into technology like PhoneGap which provides a wrapper around HTML5 web based applications on multiple platforms. This wrapper will give you access to the native device and then you could store additional data on the device in flat files on the native database without the 5MB limit