相关疑难解决方法(0)

Gzip的JavaScript实现

我正在编写一个Web应用程序,需要通过AJAX将JSON数据存储在一个小的,固定大小的服务器端缓存中(想想:Opensocial配额).我无法控制服务器.

我需要减少存储数据的大小以保持服务器端配额,并且希望能够在将其发送到服务器之前在浏览器中对字符串化JSON进行gzip.

但是,我找不到Gzip的JavaScript实现方式.有关如何在发送之前压缩客户端数据的任何建议吗?

javascript compression ajax gzip

204
推荐指数
7
解决办法
15万
查看次数

访问localStorage时,是否还有其他人在iPad上收到QUOTA_EXCEEDED_ERR?

我有一个用JavaScript编写的Web应用程序,可以通过Safari和iPhone在桌面上成功运行.

我们正在考虑将此应用程序移植到iPad上,当我们在设备上的localStorage中存储相对少量的数据时,我们遇到了QUOTA_EXCEEDED_ERR问题.我知道这个错误意味着什么,但我不认为我存储了那么多数据.

还有其他人在做类似的事吗?看到/没有看到这个问题?

凯文·...

web-applications ipad

25
推荐指数
2
解决办法
1万
查看次数

使用Javascript在localStorage中存储大型整数数组的最有效方法

*"高效"这里基本上意味着更小的尺寸(减少IO等待时间),以及快速的检索/反序列化时间.存储时间并不重要.

我必须在浏览器的localStorage中存储几十个整数数组,每个数组都有一个范围为0-50的1800个值 - 也就是说,作为一个字符串.

显然,最简单的方法是,只要JSON.stringify它,它会增加许多不必要的信息,考虑到数据的范围是众所周知的.其中一个数组的平均大小为~5500字节.

以下是我尝试过的其他一些方法(结果大小,以及最后反序列化1000次的时间)

这是我的结果:

                  size     Chrome 18   Firefox 11
-------------------------------------------------
JSON.stringify    5286          60ms         99ms
zero-padded       3600         354ms        703ms
base 50           1800         315ms        400ms
charCodes         1800          21ms        178ms
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果有一个更好的方法,我还没有考虑过?

更新
MДΓΓБДLL建议对数据使用压缩.将此LZW实现与基础50和charCode数据相结合.我还测试了aroth的代码(将4个整数打包成3个字节).我得到了这些结果:

                  size     Chrome 18   Firefox 11
-------------------------------------------------
LZW base 50       1103         494ms        999ms
LZW charCodes     1103         194ms …
Run Code Online (Sandbox Code Playgroud)

javascript html5 local-storage web-storage

13
推荐指数
1
解决办法
3450
查看次数