2015-09-28 23 views
2

我只想让用户使用不安全的数据进行离线修改。即修改他们的个人资料名称,添加新的内容(页面),照片等等。当他们联机时,所有这些活动必须在联机服务器中相应更新。有没有办法在线下记录用户的活动并更新它们?

我需要一些关于此的广泛想法。这将是一个网络应用程序,主要是个人网站。如果我要做这个应用程序,我应该确保他们安装了mysql和wamp服务器,以便离线更改可以记录在本地主机中?

我指的是几个论坛,其中一些提到html5 localstorage。这里有一个:Mobile site/app - capture data offline and push to live database

该网站将主要在PHP,MYSQL,HTML5和JQUERY开发。

+1

,你可以尝试使用本地存储,但我不确定在这件事上使用本地存储的缺点 – guradio

+1

我即将遭遇麻烦,但localStorage会让你接近你想要的地方。主要缺点是localStorage只接受字符串,所以做一些json解析和来回解码会有所帮助。 – Jesse

+0

@Jesse他还希望在本地存储中保存blob的照片不是一个坏主意吗?他可以为照片做这件事。 – guradio

回答

4

如果您不想打扰您的用户如何安装某些程序以便在离线时存储其数据 - (此流程应该不被注意或尽可能减少用户的痛苦)我建议您参加localStorage的 - 如果你是罚款10MB(Chrome和Firefox,5MB移动)用户的磁盘配额。

需要更多的空间?

Cache API为一体的ServiceWorker API

服务工人的接口是针对原点和路径注册的事件驱动的工作人员。它采用JavaScript文件的形式,可以控制与其关联的网页/网站,截取并修改导航和资源请求,并以非常细致的方式缓存资源,从而完全控制您的应用在某些情况下的行为(当网络不可用最明显的是)

IndexedDB

值得了解(FF至少)所有索引资料碱基(来自多个源/网站)不能把50%以上的总磁盘大小 - 并且从大小一个IDB不能占用超过20%。另外,根据最近最少使用策略,如果数据库可用空间变满,浏览器可以(也将会)kill an IndexedBD

注意,对于旧的浏览器不支持IndexedDB的,你可能需要使用一个垫片退却到Web SQL Database(这已不再维护)

+0

非常感谢这个想法!我的目标受众是非IT专业人员,你是对的,我不想用我的指示来打扰他们。至于PHP桌面,他们需要双击.exe文件才能离线运行应用程序。但我更关心更新上网时间..我正在通过IndexedDB,并希望它会符合这个标准。 – 112233

+0

@Vani是的,只要记住你会发现索引数据库在foobar中很痛苦。这是非常新鲜的,周围仍然有很多灰尘。好消息是,FF允许您存储甚至50MB的数据,而不会提示用户留出更多空间。我会坦率地说去LocalStorage ...更容易。我只是保持它的聪明,以适应任何5MB以下的记录交互(如我的Q评论中所建议的)。这将是一个数据编辑loooooot,但更少的图像上传和媒体的东西(主要导致Base64中的图像比原始图像数据大4/3。) –

+0

C.Buljan,我接受你的建议;将用于Localstorage,但会为了学习目的而使用IndexedDB。非常感谢你的时间和精力:) – 112233

相关问题