假設我有一個400K的文本文件,我想從javascript讀取。問題是,我的目標觀衆有一個緩慢的連接,所以400k可能需要很長時間才能加載。javascript文本壓縮/解壓
我想我需要壓縮文件,但是,我怎樣才能解壓縮它通過在客戶端的JavaScript?
是否值得呢,還是將解壓縮所需的時間否定下載時間保存的時間?
UPDATE
只要是明確的,該文件是文本(數據)不代碼。
假設我有一個400K的文本文件,我想從javascript讀取。問題是,我的目標觀衆有一個緩慢的連接,所以400k可能需要很長時間才能加載。javascript文本壓縮/解壓
我想我需要壓縮文件,但是,我怎樣才能解壓縮它通過在客戶端的JavaScript?
是否值得呢,還是將解壓縮所需的時間否定下載時間保存的時間?
UPDATE
只要是明確的,該文件是文本(數據)不代碼。
你可以GZip的文本文件,並將其發送到瀏覽器。這樣你就不必在客戶端做任何事情,瀏覽器本身就會解壓縮它。
這看起來很有趣: http://rumkin.com/tools/compression/compress_huff.php
與文本的很多一些測試變成了一個相當不錯的結果。
DECOMPRESS JAVASCRIPT
是IMPOSSIBLE隱藏壓縮碼。
與/封隔器壓縮一個典型的JavaScript /啓動用下面的代碼:
`eval(function(p,a,c,k,e,r)`…
`eval` can simply be replaced by `alert`.
eval
的函數評價爲有JavaScript字符串參數。在大多數封隔器中,使用eval
,然後使用document.write
。
要解壓縮的JavaScript,通過以下的一個替代這些方法:
更換由alert
eval
(像這樣:alert(function(p,a,c,k,e,r)
... 並打開或刷新HTML頁面,該警報將簡單地在彈出窗口中打印代碼)
2.如果JavaScript中的<body>
元素後出現,你可以添加一個<textarea>
像這樣:
`<textarea id="code"></textarea>`
然後,替換eval
(...);通過document.getElementById("code").value=…;
從兩個選擇,第一是更簡單...祝你好運:)
[老問題,但以防萬一其他人碰到這個絆倒...]
以最好的方式處理這個是使用HTTP compression。所有主要的Web服務器和Web瀏覽器均支持此功能。事實上,如果您使用的是虛擬主機服務,並且您的文件通常需要壓縮(例如css,js,html)的文件類型,那麼它可能已經被壓縮以用於傳輸,並且您只是不知道它。
是的,你不必自己處理壓縮/解壓縮瀏覽器爲你做,只有你必須指定你正在使用的服務器的服務器參數。 注意:您可以明確指定所有MimeType(響應格式的) Ex。
下面是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] - >網絡標籤 - >開始錄音。 單擊響應所需數據/文本的請求url。 然後轉到標題的標籤。
你會看到。
請求/響應集管
Content-Encoding:gzip
Accept-Encoding: gzip, deflate
,使用編碼它。並在網絡標籤的尺寸列againsr該網址將顯示縮小的大小。
那麼,這取決於文本文件包含的內容!基本上,壓縮將刪除額外的空格和換行符,這可以大大減少文件大小,但是如何在客戶端重新構建文件? – Kirtan 2009-06-15 06:10:01