Existe uma biblioteca disponível para compressão em Javascript [fechado]

Estou à procura de dados do servidor em um formato comprimido para o cliente (com pedidos ajax), e do que descomprimir os dados com um navegador? Há alguma biblioteca para isto?

Não estou à procura de comprimir ficheiros javascript!

EDIT: eu acho que a pergunta não foi clara o suficiente, Eu não quero comprimir arquivos html, eu quero armazenar alguns arquivos LZMA comprimidos ou qualquer outro formato de compressão no servidor(como um arquivo obj), e então eu preciso descomprimi-los depois que eu consegui com AJAX. Não compressão/descompressão simultânea com o gzip. Abrir já os arquivos zipeed depois de obtê-los com Javascript.

Author: Cœur, 2011-02-27

5 answers

O seu servidor web (e o navegador) deve ser capaz de lidar com isto de forma transparente usando o gzip. Como esta é a configuração irá depender de qual servidor você está usando.

Checkout mod_ deflate no apache ou a activar o gzip no nginx.

O navegador irá descomprimir automaticamente os dados antes de chegar ao seu controlador XHR e você pode estar seguro no conhecimento de que os seus dados foram comprimidos tanto quanto possível em trânsito.

 7
Author: Chris Farmiloe, 2011-02-27 22:22:07
Eu sei, esta é uma resposta muito tardia, mas achei esta uma alternativa interessante: http://pieroxy.net/blog/pages/lz-string/index.html Ele também tem implementações em outras línguas!

E o meu favorito neste momento é pako. É realmente ardente rápido e fácil de usar e compatível com o bem conhecido zlib

 4
Author: luksch, 2014-06-11 09:02:33
Isto parece promissor. http://code.google.com/p/jslzjb/
 0
Author: Erik, 2011-09-16 07:11:44
O que Erik disse ... http://code.google.com/p/jslzjb/ Aqui está um código básico para te pôr a trabalhar, e descodificar.
 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);
 0
Author: Orwellophile, 2013-06-11 10:32:05
Levei a LZMA para GWT há algum tempo. Se estás a usar a GWT, esta pode ser uma opção viável.

Https://code.google.com/p/gwt-lzma/

 0
Author: Archie, 2014-05-21 14:23:30