我正在寻找从服务器以压缩格式向客户端发送数据(带有ajax请求),而不是使用浏览器解压缩该数据? 这个库有吗?
我不是在寻找压缩javascript文件!
编辑:我认为问题不够明确,我不想压缩html文件,我想在服务器上存储一些压缩的LZMA文件或任何其他压缩格式(如obj文件),然后我需要用AJAX得到它后解压缩它们。不使用gzip同时压缩/解压缩。用Javascript获取后打开已经被zipeed的文件。答案 0 :(得分:6)
您的网络服务器(和浏览器)应该能够使用gzip透明地处理这个问题。如何设置将取决于您使用的服务器。
在apache中检出mod_deflate或在nginx中启用gzip。
浏览器会在数据到达您的XHR处理程序之前自动解压缩,您可以安全地知道您的数据在传输过程中尽可能地被压缩。
答案 1 :(得分:4)
我知道,这是一个非常晚的答案,但我发现这是一个有趣的选择:http://pieroxy.net/blog/pages/lz-string/index.html 它还有其他语言的实现!
兼容答案 2 :(得分:0)
这看起来很有希望:http://code.google.com/p/jslzjb/
答案 3 :(得分:0)
Erik说的是什么,http://code.google.com/p/jslzjb/
这里有一些基本的代码可以帮助您进行解码。
var stringStreamIn = function(s) {
this.data = s;
this.length = this.data.length;
this.offset = -1;
this.readByte = function(){
if (++this.offset >= this.length) {
return null;
}
return this.data.charCodeAt(this.offset);
};
};
var stringStreamOut = function() {
this.data = '';
this.length = function() { return this.data.length; };
this.writeByte = function(value) {
this.data += String.fromCharCode(value);
};
};
var so = new stringStreamOut();
var si = new stringStreamIn(atob("XQAAgAD//////////wAnG8AHA8+NCpYMj8Bgfez6bsJh4zoZx3fA+gih10oOa6rwYfkaucJIKX8T69I5iOe8WJwg/Ta7x3eHeDomxR6Vf824NLmKSrWHKdnM9n0D2aipzLbHv5//sTGAAA=="));
LZMA.decompressFile(si, so);
console.log(so.data);
答案 4 :(得分:0)
我将LZMA暂时移植到GWT。如果您正在使用GWT,这可能是一个可行的选择。