成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

javascript壓縮,js壓縮算法

js代碼壓縮!

這個(gè)站點(diǎn)里面有四個(gè)壓縮引擎,一個(gè)YUI壓縮,一個(gè)UglifyJS壓縮,一個(gè)JSPacker壓縮,和一個(gè)新的JsMin壓縮。

成都創(chuàng)新互聯(lián)公司基于分布式IDC數(shù)據(jù)中心構(gòu)建的平臺(tái)為眾多戶(hù)提供成都服務(wù)器托管 四川大帶寬租用 成都機(jī)柜租用 成都服務(wù)器租用。

一般用UglifyJS引擎壓縮就可以。jQuery和好些其他的前端項(xiàng)目就是用他壓縮的。

另外給個(gè)建議,你把你的JS文件用匿名函數(shù)的方式封裝起來(lái),對(duì)外只給一個(gè)接口。這樣JS壓縮引擎就可以把你匿名函數(shù)中不對(duì)外開(kāi)放的內(nèi)部變量名稱(chēng)都給替換成a,b,c,d這樣的單字符,很能節(jié)省體積。

怎么用JavaScript在線(xiàn)壓縮圖片

主要用了兩個(gè)html5的 API,一個(gè)file,一個(gè)canvas,壓縮主要使用cnavas做的,file是讀取文件,之后把壓縮好的照片放入內(nèi)存,最后內(nèi)存轉(zhuǎn)入表單下img.src,隨著表單提交。

照片是自己用單反拍的,5M多,壓縮下面3張分別是600多kb,400多kb,300kb的最后那張失真度很大了,壓縮效率蠻高的。

!DOCTYPE html

htmlhead meta charset="utf-8"/ titleFile API Test/title script type="text/javascript" src="js/jquery-1.11.0.min.js"/script script type="text/javascript" src="js/JIC.js"/script style #test{ display: none; } /style/headbodyinput type="file" id="fileImg" form img src="" id="test" alt=""/formscript function handleFileSelect (evt) { // var filebtn = document.getElementById(id); // console.log(filebtn); // var files = filebtn.target.files; // console.log(filebtn.target); // console.log(files); var files = evt.target.files; for (var i = 0, f; f = files[i]; i++) { // Only process image files. if (!f.type.match('image.*')) { continue; } var reader = new FileReader(); // Closure to capture the file information. reader.onload = (function(theFile) { return function(e) { // Render thumbnail. // console.log(evt.target.files[0]); // console.log(e.target); console.log(e.target.result); var i = document.getElementById("test"); i.src = event.target.result; console.log($(i).width()); console.log($(i).height()); $(i).css('width',$(i).width()/10+'px'); //$(i).css('height',$(i).height()/10+'px'); console.log($(i).width()); console.log($(i).height()); var quality = 50; i.src = jic.compress(i,quality).src; console.log(i.src); i.style.display = "block"; }; })(f); // Read in the image file as a data URL. reader.readAsDataURL(f); } } document.getElementById('fileImg').addEventListener('change', handleFileSelect, false);/script/body/html

var jic = { /** * Receives an Image Object (can be JPG OR PNG) and returns a new Image Object compressed * @param {Image} source_img_obj The source Image Object * @param {Integer} quality The output quality of Image Object * @return {Image} result_image_obj The compressed Image Object */ compress: function(source_img_obj, quality, output_format){ var mime_type = "image/jpeg"; if(output_format!=undefined output_format=="png"){ mime_type = "image/png"; } var cvs = document.createElement('canvas'); //naturalWidth真實(shí)圖片的寬度 cvs.width = source_img_obj.naturalWidth; cvs.height = source_img_obj.naturalHeight; var ctx = cvs.getContext("2d").drawImage(source_img_obj, 0, 0); var newImageData = cvs.toDataURL(mime_type, quality/100); var result_image_obj = new Image(); result_image_obj.src = newImageData; return result_image_obj; }, function ****(***)

如何壓縮js

簡(jiǎn)單的壓縮一般是:刪除注釋和空白符,替換變量名。

更激進(jìn)點(diǎn)的做法還包括:刪除無(wú)用代碼,內(nèi)聯(lián)函數(shù),等價(jià)語(yǔ)句替換等。

有些開(kāi)發(fā)者出于保護(hù)代碼的原因,還可能會(huì)對(duì)代碼進(jìn)行混淆處理。

通常深度壓縮JS都必須要做的一步就是盡量地縮短變量名,因?yàn)橐环蒹w積巨大的JS代碼,其中的變量名會(huì)占去不少空間。

壓縮js必須要注意:

1、壓縮前的代碼格式要標(biāo)準(zhǔn)。因?yàn)槿サ魮Q行與空格時(shí),所有語(yǔ)句就變成一行,如果你的代碼有瑕疵(比如某行少了個(gè)分號(hào)),那就會(huì)導(dǎo)致整個(gè)文件報(bào)錯(cuò)。當(dāng)然,現(xiàn)在有的壓縮工具已經(jīng)比較智能了。

2、備份原文件。壓縮很可能不會(huì)一次成功,一般要多試,多改。

js壓縮工具:

1. YUI Compressor

2. Google Closure Compiler

壓縮 JavaScript是什么

就是將標(biāo)準(zhǔn)的javascript按照一定方式進(jìn)行體積壓縮,但是功能不變,體積變小了,便于傳輸

求javascript 字符串壓縮算法

HTML

HEAD

TITLEDecision Helper/TITLE

META http-equiv=Content-Type content="text/html; charset=gb2312"

SCRIPT LANGUAGE="JavaScript"

!--

function Compress(strNormalString)

{

alert("壓縮前長(zhǎng)度:" + strNormalString.length);

var strCompressedString = "";

var ht = new HashTable;

for(i = 0; i 128; i++) {

var e = new HashTableElement;

e.key = i;

e.code = i;

ht.Insert(e);

}

var used = 128;

var intLeftOver = 0;

var intOutputCode = 0;

var pcode = 0;

var ccode = 0;

var k = 0;

for(var i=0; istrNormalString.length; i++) {

ccode = strNormalString.charCodeAt(i);

k = (pcode 8) | ccode;

if((intSearch = ht.Search(k)) != null) {

pcode = intSearch;

} else {

intLeftOver += 12;

intOutputCode = 12;

intOutputCode |= pcode;

pcode = ccode;

if(intLeftOver = 16) {

strCompressedString += String.fromCharCode( intOutputCode ( intLeftOver - 16 ) );

intOutputCode = (Math.pow(2,(intLeftOver - 16)) - 1);

intLeftOver -= 16;

}

if(used 4096) {

used ++;

var e = new HashTableElement;

e.key = k;

e.code = used - 1;

ht.Insert(e);

}

}

}

if(pcode != 0) {

intLeftOver += 12;

intOutputCode = 12;

intOutputCode |= pcode;

}

if(intLeftOver = 16) {

strCompressedString += String.fromCharCode( intOutputCode ( intLeftOver - 16 ) );

intOutputCode = (Math.pow(2,(intLeftOver - 16)) - 1);

intLeftOver -= 16;

}

if( intLeftOver 0) {

intOutputCode = (16 - intLeftOver);

strCompressedString += String.fromCharCode( intOutputCode );

}

alert("壓縮后長(zhǎng)度:" + strCompressedString.length);

return strCompressedString;

}

function Decompress(strCompressedString)

{

var strNormalString = "";

var ht = new Array;

for(i = 0; i 128; i++)

{

ht[i] = String.fromCharCode(i);

}

var used = 128;

var intLeftOver = 0;

var intOutputCode = 0;

var ccode = 0;

var pcode = 0;

var key = 0;

for(var i=0; istrCompressedString.length; i++) {

intLeftOver += 16;

intOutputCode = 16;

intOutputCode |= strCompressedString.charCodeAt(i);

分享標(biāo)題:javascript壓縮,js壓縮算法
文章出自:http://jinyejixie.com/article8/dssehop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、ChatGPT網(wǎng)站營(yíng)銷(xiāo)、網(wǎng)站設(shè)計(jì)、微信小程序手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
新郑市| 莎车县| 天长市| 大洼县| 开阳县| 铜川市| 鹿泉市| 贵南县| 永仁县| 石阡县| 宁乡县| 宁津县| 太湖县| 温宿县| 宜章县| 北宁市| 桓仁| 铅山县| 勃利县| 三穗县| 宁安市| 惠水县| 梁山县| 六枝特区| 冷水江市| 阜城县| 锡林郭勒盟| 岚皋县| 怀宁县| 英山县| 布拖县| 高邑县| 阜新| 通河县| 吴江市| 苗栗市| 子长县| 丘北县| 武隆县| 婺源县| 东港市|