javascript文本压缩/解压缩

时间:2009-06-15 06:06:43

标签: javascript compression text-files

假设我有一个400K文本文件,我想从javascript中读取。问题是,我的目标受众连接速度很慢,因此加载400k可能需要很长时间。

我想我需要压缩文件,但是,如何在客户端通过javascript解压缩?

是否值得,或者减压所需的时间是否会减少下载时节省的时间?

更新

为了清楚起见,文件是文本(数据)而不是代码。

6 个答案:

答案 0 :(得分:8)

您可以GZip文本文件,并将其发送到浏览器。这样你就不必在客户端做任何事情,浏览器本身会解压缩它。

答案 1 :(得分:1)

你能使用HTTP压缩吗?

答案 2 :(得分:1)

这看起来很有趣: http://rumkin.com/tools/compression/compress_huff.php

一些带有大量文字的测试结果非常好。

答案 3 :(得分:0)

[老问题,但万一其他人偶然发现了这个......]

处理此问题的最佳方法是使用HTTP compression。所有主要的Web服务器和Web浏览器都支持此功能事实上,如果您使用的是网络托管服务,并且您的文件是通常需要压缩的文件类型(例如css,js,html),那么它可能已经被压缩用于传输而您只是不知道它。 / p>

答案 4 :(得分:0)

是的,你不必自己处理压缩/解压缩浏览器只为你必须为你正在使用的服务器指定服务器参数。 注意:您可以明确指定所有MimeType(响应格式) 防爆。

以下是tomcat服务器设置参数。

   <Connector port="8443" 
     protocol="org.apache.coyote.http11.Http11Protocol"
           SSLEnabled="true"
           maxThreads="200"
           compression="on"
           compressionMinSize="2048"
           compressableMimeType="application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,charset=UTF-8,application/x-www-form-urlencoded,text/html,text/plain,text/css,text/javascript,text/json,application/x-javascript,application/javascript,application/json"
   />

要确保压缩工作正常,您可以查看。 按F12(开发者的工具)[我的是Chrome] - &gt;网络标签 - &gt;开始录音。 单击响应所需数据/文本的请求URL。 然后转到标题选项卡。

你会看到。

REquest / REsponse Headers

Content-Encoding:gzip

Accept-Encoding: gzip, deflate

它使用编码。再次显示网络标签中的尺寸列,网址将显示缩小的尺寸。

答案 5 :(得分:-3)

DECOMPRESS JAVASCRIPT

不可能隐藏压缩代码。

使用/ packer /压缩的典型JavaScript使用以下代码启动:

      `eval(function(p,a,c,k,e,r)`…
      `eval` can simply be replaced by `alert`.

eval函数计算包含JavaScript的字符串参数。在大多数包装工具中,使用eval,然后使用document.write

要解压缩JavaScript,请使用以下方法之一替换这些方法:

1。eval替换为alert像这样: alert(function(p,a,c,k,e,r) ... 并打开或刷新html页面,警报将只是在弹出窗口中打印代码

2. 如果JavaScript出现在<body>元素之后,您可以像这样添加<textarea>

      `<textarea id="code"></textarea>`

然后,替换eval(...);按document.getElementById("code").value=…;

从两个选项中,第一个更简单......祝你好运:))