2012-06-09 51 views
1

瀏覽器已經解壓縮寫入處理壓縮CSS,JS等JavaScript API是否公開用於壓縮文件的內部解壓縮器?

我可以通過JavaScript訪問它...像decompress(text_stream)

我不想使用JavaScript實現(也有許多實現在那裏:這裏是一個post),因爲我知道瀏覽器已經有一個在C/C++中實現的。有什麼理由不能從API訪問這個嗎?

我見過這麼多的文章和.js庫的解壓縮,我猜它已被忽視或有一些根本原因,爲什麼它不能被暴露。

+0

」瀏覽器有解壓縮器來處理壓縮的CSS,JS等「 - 他們呢? –

+0

在Web瀏覽器中運行的JavaScript中,您的壓縮文本流將來自哪裏? – Pointy

+0

...它來自ajax調用... responseText ....我更喜歡管理自己的緩存...只是一個偏好。 –

回答

0

如果您正在討論gzip數據壓縮,那麼它的處理比javascript低得多,因爲任何瀏覽器元素都可以使用gzip壓縮。在這種情況下,文檔在被瀏覽器使用之前會自動解壓縮。有許多許多gzip庫可用。這不會通過javascript API暴露,因爲沒有必要 - 它在瀏覽器中是無縫和自動的。沒有必要在javascript應用程序中手動進行gzip解壓縮。

如果你正在談論的JavaScript縮小通過做變量替換(使用較短的變量名稱),刪除空格等縮小JavaScript文件...然後瀏覽器不需要「解壓縮」縮小的文件,並做不這樣做。他們仍然是合法的JavaScript文件,並且按原樣運行它們。因此,由於瀏覽器不這樣做,所以沒有用於取消任務的API。第三方應用程序的構建是爲了取消註冊,但這主要是爲了讓代碼更易於人閱讀 - 瀏覽器不需要或不完成此操作。

縮小和壓縮可以一起使用,JS文件首先被縮小,然後可以在傳輸到瀏覽器的過程中由Web服務器壓縮。在這種情況下,瀏覽器只會看到壓縮文件,並且在收到文件時會自動解壓縮。它忽略了縮小,因爲該文件即使在縮小之後仍然是合法的且可運行的JavaScript。瀏覽器不需要去除它,也不需要。 「

+2

這是很好的信息...但問題是更多的問爲什麼原生C/C++實現沒有暴露給JavaScript ......因爲在.js中有很多庫來解壓縮壓縮文件......人們顯然需要它。 –

+0

@ CS_2013 - 因爲如果事情具有正確的MIME信息,它會自動完成。它在JavaScript中有什麼實際用途?通常只有在有足夠的需求/利益才能保證額外的編碼,測試,大小,文檔等等時才添加功能......在這種情況下的答案與爲什麼瀏覽器內或操作系統內可用的數百萬其他功能系統不通過JavaScript公開。 – jfriend00

+2

我會說在JavaScript的形式+5圖書館......也超越使用......只是偏好。 –