欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

javascript壓縮,js 文件壓縮

怎么用JavaScript在線壓縮圖片

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

烏爾禾ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

照片是自己用單反拍的,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 ****(***)

壓縮 JavaScript是什么

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

如何使用nodejs 的 uglifyjs 壓縮js文件

一、下載并安裝NodeJS for Windows 0.6.5 或進(jìn)入NodeJS官網(wǎng)下載最新版本。

二、查看版本:

運(yùn)行cmd

node -v

npm -v

如果上訴兩個(gè)命令出錯(cuò),請(qǐng)打開系統(tǒng)環(huán)境變量Path,直接點(diǎn)確定。再試。

三、安裝UglifyJS 這里我們安裝最新的版本,具體版本可在npm官網(wǎng)查看,uglify-js版本頁面。

npm install uglify-js -g

然后等待命令完成,這個(gè)過程時(shí)間可能有點(diǎn)長(zhǎng)。

如果出錯(cuò)請(qǐng)刪除

C:\Users\Administrator\AppData\Roaming\npm 內(nèi)相關(guān)內(nèi)容

C:\Users\Administrator\AppData\Roaming\npm-cache 內(nèi)相關(guān)內(nèi)容

C:\Users\Administrator 下的錯(cuò)誤信息文件

然后再次運(yùn)行

四、修改配置

上述安裝后自動(dòng)生成的配置文件是不可直接使用的,我們需要手工去修改。

打開C:\Users\Administrator\AppData\Roaming\npm\uglifyjs.cmd

內(nèi)容為:

:: Created by npm, please don't edit manually.

"%~dp0\.\node_modules\uglify-js\bin\uglifyjs" %*

修改為:

:: Created by npm, please don't edit manually.

@IF EXIST "%~dp0"\"node.exe" (

"%~dp0"\"node.exe" "%~dp0\.\node_modules\uglify-js\bin\uglifyjs" %*

) ELSE (

node "%~dp0\.\node_modules\uglify-js\bin\uglifyjs" %*

)

五、使用uglifyjs對(duì)javascript進(jìn)行壓縮美化

壓縮:

uglifyjs f.js f.min.js

美化:

uglifyjs -b f.min.js f.b.js

Web前端新手應(yīng)該知道的JavaScript開發(fā)技巧有哪些?

今天小編要跟大家分享的文章是關(guān)于Web前端新手應(yīng)該知道的JavaScript開發(fā)技巧有哪些?熟悉Web前端的小伙伴都知道,Javascript

的很多擴(kuò)展的特性是的它變得更加的犀利,同時(shí)也給予程序員機(jī)會(huì)創(chuàng)建更漂亮并且更讓用戶喜歡的網(wǎng)站。

盡管很多的開發(fā)人員都樂于頌揚(yáng)javascript,但是仍舊有人看到它的陰暗面。

使用很多javascript代碼的Web頁面會(huì)加載很慢,過多的使用javascript使得網(wǎng)頁丑陋和拖沓。很快如何有效地使用

javascript成為一個(gè)非常火熱的話題。

今天小編就為Web前端新手準(zhǔn)備了這篇JavaScript開發(fā)技巧,希望能夠?qū)δ阌兴鶐椭?,下面我們一起來看一看?

1、盡可能的保持代碼簡(jiǎn)潔

可能大家都聽到過了N遍這個(gè)代碼簡(jiǎn)潔問題了。作為一個(gè)開發(fā)人員你可能在你的代碼開發(fā)過程中使用了很多次,但千萬不要在js開發(fā)中忘記這點(diǎn)。

§盡量在開發(fā)模式中添加注釋和空格,這樣保持代碼的可讀性

§在發(fā)布到產(chǎn)品環(huán)境前請(qǐng)將空格和注釋都刪除,并且盡量縮寫變量和方法名

§使用第三方工具幫助你實(shí)現(xiàn)壓縮javascript。

2、思考后再修改prototypes

添加新的屬性到對(duì)象prototype中是導(dǎo)致腳本出錯(cuò)的常見原因。

yourObject.prototype.anotherFunction='Hello';

yourObject.prototype.anotherMethod=function(){...}

在上面代碼中,所有的變量都會(huì)被影響,因?yàn)樗麄兌祭^承于yourObject。這樣的使用會(huì)導(dǎo)致意想不到的行為。所以建議在使用完后刪除類似的修改。

yourObject.prototype.anotherFunction='Hello';

yourObject.prototype.anotherMethod=function(){};

test.anotherMethod();

deleteyourObject.prototype.anotherFunction='Hello';

deleteyourObject.prototype.anotherMethod=function(){};

3、DebugJavascript代碼

即使最好的開發(fā)人員都會(huì)犯錯(cuò)。為了最大化的減少類似錯(cuò)誤,請(qǐng)?jiān)谀愕膁ebugger中運(yùn)行你的代碼,確認(rèn)你沒有遇到任何細(xì)微的錯(cuò)誤。

4、避免Eval

你的JS在沒有eval方法的時(shí)候也可以很好的工作。eval允許訪問javascript編譯器。如果一個(gè)字符串作為參數(shù)傳遞到

eval,那么它的結(jié)果可以被執(zhí)行。

這會(huì)很大的降低代碼的性能。盡量避免在產(chǎn)品環(huán)境中使用eval。

5、最小化DOM訪問

DOM是最復(fù)雜的API,會(huì)使得代碼執(zhí)行過程變慢。有時(shí)候Web頁面可能沒有加載或者加載不完整。最好避免DOM。

6、在使用javascript類庫之前先學(xué)習(xí)javascript

互聯(lián)網(wǎng)充斥著很多的javascript類庫,很多程序員都往往使用js類庫而不理解負(fù)面影響。強(qiáng)烈建議你在使用第三方類庫之前學(xué)習(xí)基本的JS

代碼,否則,你就準(zhǔn)備著倒霉吧。

7、不要用“SetTimeOut”和“Setinterval”方法來作為“Eval”的備選

setTimeOut("document.getID('value')",3000);

在以上代碼中document.getID(‘value’)在setTimeOut方法中被作為字符串來處理。這類似于eval

方法,在每個(gè)代碼執(zhí)行中來執(zhí)行一個(gè)字符串,因此會(huì)降低性能,因此,建議在這些方法中傳遞一個(gè)方法。

setTimeOut(yourFunction,3000);

8、[]比newArray();更好

一個(gè)常犯的錯(cuò)誤在于使用當(dāng)需要數(shù)組的時(shí)候使用一個(gè)對(duì)象或者該使用對(duì)象的時(shí)候使用一個(gè)數(shù)組。但是使用原則很簡(jiǎn)單:

“當(dāng)屬性名稱是小的連續(xù)整數(shù),你應(yīng)該使用數(shù)組。否則,使用一個(gè)對(duì)象”_DouglasCrockford,JavaScript:Good

Parts的作者.

建議:

vara=['1A','2B'];

避免:

vara=newArray();

a[0]="1A";

a[1]="2B";

9、盡量不要多次使用var

在初始每一個(gè)變量的時(shí)候,程序員都習(xí)慣使用var關(guān)鍵字。相反,建議你使用逗號(hào)來避免多余的關(guān)鍵字,并且減少代碼體積。如下:

varvariableOne='string1',

variableTwo='string2',

variableThree='string3';

10、不要忽略分號(hào)“;”

這往往是大家花費(fèi)數(shù)個(gè)小時(shí)進(jìn)行debug的原因之一。

我很確信你肯定也在其它的文章中閱讀過以上相關(guān)的內(nèi)容,但是大家可能往往都忽略了很多基本的規(guī)則。你是不是也曾經(jīng)忽略過分號(hào)。是不是也遇到過eval

關(guān)鍵字問題導(dǎo)致性能問題?

以上就是小編今天為大家分享的關(guān)于Web前端新手應(yīng)該知道的JavaScript

開發(fā)技巧有哪些?的文章,希望本篇文章能夠?qū)倓偨佑|Web前端行業(yè)的新手們有所幫助。想要了解更多Web前端知識(shí)記得關(guān)注北大青鳥Web前端培訓(xùn)官網(wǎng)!

*聲明:內(nèi)容與圖片均來源于網(wǎng)絡(luò)(部分內(nèi)容有修改),版權(quán)歸原作者所有,如來源信息有誤或侵犯權(quán)益,請(qǐng)聯(lián)系我們刪除或授權(quán)事宜。

js代碼壓縮!

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

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

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

求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 文件壓縮
文章轉(zhuǎn)載:http://chinadenli.net/article0/dsigioo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、定制開發(fā)、網(wǎng)站導(dǎo)航、品牌網(wǎng)站制作、網(wǎng)站維護(hù)

廣告

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

商城網(wǎng)站建設(shè)