欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

javascript壓縮,js 文件壓縮

怎么用JavaScript在線壓縮圖片

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

烏爾禾ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格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真實圖片的寬度 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是什么

就是將標準的javascript按照一定方式進行體積壓縮,但是功能不變,體積變小了,便于傳輸

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

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

二、查看版本:

運行cmd

node -v

npm -v

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

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

npm install uglify-js -g

然后等待命令完成,這個過程時間可能有點長。

如果出錯請刪除

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 下的錯誤信息文件

然后再次運行

四、修改配置

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

打開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對javascript進行壓縮美化

壓縮:

uglifyjs f.js f.min.js

美化:

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

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

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

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

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

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

javascript成為一個非?;馃岬脑掝}。

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

1、盡可能的保持代碼簡潔

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

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

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

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

2、思考后再修改prototypes

添加新的屬性到對象prototype中是導致腳本出錯的常見原因。

yourObject.prototype.anotherFunction='Hello';

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

在上面代碼中,所有的變量都會被影響,因為他們都繼承于yourObject。這樣的使用會導致意想不到的行為。所以建議在使用完后刪除類似的修改。

yourObject.prototype.anotherFunction='Hello';

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

test.anotherMethod();

deleteyourObject.prototype.anotherFunction='Hello';

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

3、DebugJavascript代碼

即使最好的開發(fā)人員都會犯錯。為了最大化的減少類似錯誤,請在你的debugger中運行你的代碼,確認你沒有遇到任何細微的錯誤。

4、避免Eval

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

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

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

5、最小化DOM訪問

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

6、在使用javascript類庫之前先學習javascript

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

代碼,否則,你就準備著倒霉吧。

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

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

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

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

setTimeOut(yourFunction,3000);

8、[]比newArray();更好

一個常犯的錯誤在于使用當需要數(shù)組的時候使用一個對象或者該使用對象的時候使用一個數(shù)組。但是使用原則很簡單:

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

Parts的作者.

建議:

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

避免:

vara=newArray();

a[0]="1A";

a[1]="2B";

9、盡量不要多次使用var

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

varvariableOne='string1',

variableTwo='string2',

variableThree='string3';

10、不要忽略分號“;”

這往往是大家花費數(shù)個小時進行debug的原因之一。

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

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

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

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

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

js代碼壓縮!

這個站點里面有四個壓縮引擎,一個YUI壓縮,一個UglifyJS壓縮,一個JSPacker壓縮,和一個新的JsMin壓縮。

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

另外給個建議,你把你的JS文件用匿名函數(shù)的方式封裝起來,對外只給一個接口。這樣JS壓縮引擎就可以把你匿名函數(shù)中不對外開放的內(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("壓縮前長度:" + 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("壓縮后長度:" + 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);

文章標題:javascript壓縮,js 文件壓縮
文章轉(zhuǎn)載:http://aaarwkj.com/article0/dsigioo.html

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

廣告

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

商城網(wǎng)站建設(shè)
亚洲精品丝袜成人偷拍| 美女福利视频一区二区| 黄片视频免费在线播放大全| 欧美一区二区三区午夜| 综合久久99中文综合久久| 91国产香蕉在线观看| 在线麻豆国产传媒免费| 亚洲成人福利免费网站| 日本韩国三级伦理在线观看| 亚洲欧美综合精品二区| 欧美日韩国产综合一区二区| 国产亚洲欧美日韩激情在线 | 亚洲欧美日韩国产亚洲欧美日韩国产| 亚洲综合偷拍欧美一区色| 亚洲欧美中文日韩二区一区| 91无人区一区二区三乱码| 日本一区二区电影在线看| 国产成+人+综合+亚洲专区| 国产一区二区三区百合| 亚洲中文字幕女同系列av专区| 亚洲精品一级理论片对面| 91精品夜夜夜一区二区| 天天操天天夜夜操夜夜| 五月天丁香婷婷狠狠狠| 欧美日韩国产精品一区二区三区| 亚洲成人黄色片在线观看| av二区不卡国产精品| 亚洲伦理国产一国产二| 亚洲欧美日韩伦理一区| 热久久精品只有这里有| 亚洲欧美一区二区粉嫩| 99精品热这里只有精品| 亚洲精品在线观看日本| 亚洲男人av天堂午夜在| av网址在线免费观看| 中文乱幕亚洲无套内射| 欧美成人精品三级一二| 91日韩中文字幕在线观看| 欧美亚洲国产日韩熟女| 日韩欧美一区二区麻豆| 亚洲成人精品免费观看|