﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-懒人编码-随笔分类-Javascript</title><link>http://www.blogjava.net/goodlyts/category/32291.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 20 Jun 2008 09:06:03 GMT</lastBuildDate><pubDate>Fri, 20 Jun 2008 09:06:03 GMT</pubDate><ttl>60</ttl><item><title>Javascript在IE和FireFox中的不同表现 </title><link>http://www.blogjava.net/goodlyts/archive/2008/06/20/209475.html</link><dc:creator>流腥鱼</dc:creator><author>流腥鱼</author><pubDate>Fri, 20 Jun 2008 07:55:00 GMT</pubDate><guid>http://www.blogjava.net/goodlyts/archive/2008/06/20/209475.html</guid><wfw:comment>http://www.blogjava.net/goodlyts/comments/209475.html</wfw:comment><comments>http://www.blogjava.net/goodlyts/archive/2008/06/20/209475.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/goodlyts/comments/commentRss/209475.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/goodlyts/services/trackbacks/209475.html</trackback:ping><description><![CDATA[<p>&nbsp;JS 对象介绍 1.document.formName.item("itemName") 问题<br />
说明:IE下,可以使用document.formName.item("itemName")或document.formName.elements["elementName"];Firefox下,只能使用document.formName.elements["elementName"]. <br />
解决方法:统一使用document.formName.elements["elementName"].</p>
<p>2.集合类对象问题<br />
说明:IE下,可以使用()或[]获取集合类对象;Firefox下,只能使用[]获取集合类对象. <br />
解决方法:统一使用[]获取集合类对象.</p>
<p>3.自定义属性问题<br />
说明:IE下,可以使用获取常规属性的方法来获取自定义属性,也可以使用getAttribute()获取自定义属性;Firefox下,只能使用getAttribute()获取自定义属性. <br />
解决方法:统一通过getAttribute()获取自定义属性.</p>
<p>4.eval("idName")问题<br />
说明:IE下,,可以使用eval("idName")或getElementById("idName")来取得id为idName的HTML对象;Firefox下只能使用getElementById("idName")来取得id为idName的HTML对象. <br />
解决方法:统一用getElementById("idName")来取得id为idName的HTML对象.</p>
<p>5.变量名与某HTML对象ID相同的问题<br />
说明:IE下,HTML对象的ID可以作为document的下属对象变量名直接使用;Firefox下则不能.Firefox下,可以使用与HTML对象ID相同的变量名;IE下则不能。<br />
解决方法:使用document.getElementById("idName")代替document.idName.最好不要取HTML对象ID相同的变量名,以减少错误;在声明变量时,一律加上var,以避免歧义.</p>
<p>7.input.type属性问题<br />
说明:IE下input.type属性为只读;但是Firefox下input.type属性为读写.</p>
<p>9.event.x与event.y问题<br />
说明:IE下,even对象有x,y属性,但是没有pageX,pageY属性;Firefox下,even对象有pageX,pageY属性,但是没有x,y属性. <br />
解决方法:使用mX(mX = event.x ? event.x : event.pageX;)来代替IE下的event.x或者Firefox下的event.pageX.</p>
<p>10.event.srcElement问题<br />
说明:IE下,event对象有srcElement属性,但是没有target属性;Firefox下,event对象有target属性,但是没有srcElement属性. <br />
解决方法:使用obj(obj = event.srcElement ? event.srcElement : event.target;)来代替IE下的event.srcElement或者Firefox下的event.target.</p>
<p>13.frame问题<br />
以下面的frame为例：<br />
&lt;frame src="xxx.html" id="frameId" name="frameName" /&gt;</p>
<p>(1)访问frame对象:<br />
IE:使用window.frameId或者window.frameName来访问这个frame对象.<br />
Firefox:只能使用window.frameName来访问这个frame对象.<br />
另外，在IE和Firefox中都可以使用window.document.getElementById("frameId")来访问这个frame对象.</p>
<p>(2)切换frame内容:<br />
在IE和Firefox中都可以使用window.document.getElementById("testFrame").src = "xxx.html"或window.frameName.location = "xxx.html"来切换frame的内容.</p>
<p>如果需要将frame中的参数传回父窗口，可以在frme中使用parent来访问父窗口。例如：parent.document.form1.filename.value="Aqing";</p>
<p>14.body问题<br />
Firefox的body在body标签没有被浏览器完全读入之前就存在；而IE的body则必须在body标签被浏览器完全读入之后才存在.</p>
<p>例如： <br />
Firefox： <br />
&lt;body&gt; <br />
&lt;script type="text/javascript"&gt; <br />
document.body.onclick = function(evt){ <br />
evt = evt || window.event; <br />
alert(evt); <br />
} <br />
&lt;/script&gt; <br />
&lt;/body&gt; <br />
IE&amp;Firefox： <br />
&lt;body&gt;<br />
&lt;/body&gt; <br />
&lt;script type="text/javascript"&gt; <br />
document.body.onclick = function(evt){ <br />
evt = evt || window.event; <br />
alert(evt); <br />
} &lt;/script&gt;</p>
<p>15. 事件委托方法<br />
IE：document.body.onload = inject; //Function inject()在这之前已被实现</p>
<p>Firefox：document.body.onload = inject();</p>
<p>有人说标准是：<br />
document.body.onload=new Function('inject()');</p>
<p>16. firefox与IE(parentElement)的父元素的区别<br />
IE：obj.parentElement<br />
firefox：obj.parentNode</p>
<p>解决方法: 因为firefox与IE都支持DOM,因此使用obj.parentNode是不错选择.</p>
<p>17.innerText在IE中能正常工作，但是innerText在FireFox中却不行.<br />
解决方法:<br />
if(navigator.appName.indexOf("Explorer") &gt; -1){</p>
<p>&nbsp;&nbsp;&nbsp; document.getElementById('element').innerText = "my text";</p>
<p>} else{</p>
<p>&nbsp;&nbsp;&nbsp; document.getElementById('element').textContent = "my text";</p>
<p>}</p>
<p>18. FireFox中类似 obj.style.height = imgObj.height 的语句无效<br />
解决方法：<br />
obj.style.height = imgObj.height + 'px';</p>
<p>19. ie,firefox以及其它浏览器对于 table 标签的操作都各不相同，在ie中不允许对table和tr的innerHTML赋值，使用js增加一个tr时，使用appendChile方法也不管用。<br />
解决方法：<br />
//向table追加一个空行：<br />
var row = otable.insertRow(-1);<br />
var cell = document.createElement("td");<br />
cell.innerHTML = " "; <br />
cell.className = "XXXX"; <br />
row.appendChild(cell);</p>
<p>20. padding 问题<br />
padding 5px 4px 3px 1px FireFox无法解释简写,</p>
<p>必须改成 padding-top:5px; padding-right:4px; padding-bottom:3px; padding-left:1px;</p>
<p>21. 消除ul、ol等列表的缩进时<br />
样式应写成:list-style:none;margin:0px;padding:0px;</p>
<p>其中margin属性对IE有效，padding属性对FireFox有效</p>
<p>22. CSS透明<br />
IE：filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=60)。</p>
<p>FF：opacity:0.6。</p>
<p>23. CSS圆角<br />
IE：不支持圆角。</p>
<p>FF： -moz-border-radius:4px，或者-moz-border-radius-topleft:4px;-moz-border- radius-topright:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius- bottomright:4px;。</p>
<p>24. CSS双线凹凸边框<br />
IE：border:2px outset;。</p>
<p>FF： -moz-border-top-colors: #d4d0c8 white;-moz-border-left-colors: #d4d0c8 white;-moz-border-right-colors:#404040 #808080;-moz-border-bottom-colors:#404040 #808080;</p>
<p>25．ie支持document.all 而firefox 不支持<br />
改用下面三个tag的其中一个来代替document.all <br />
getElementsByTagName("tagName") 可以得到得到所有标签元素的集合<br />
getElementById("idName")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 可以按id得到某一元素<br />
getElementsByName("Name")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 可以得到按name属性得到某一元素</p>
<p>26、firefox 中使用innerHTML 的方法<br />
&lt;div id="online"&gt;&lt;/div&gt;<br />
document.all.online.innerHTML; //这种方法在IE中可以使用，但不是标准方法<br />
document.getElementById("online").innerHTML; //这样firefox就能使用innerHTML了</p>
<p>27、eval()与window.execScript()执行脚本<br />
IE、firerox均支持eval()，firefox不支持window.execScript()</p>
<p>解决：统一使用eval()</p>
<p>28、对事件处理函数的重写<br />
解决：（例）:如对document的onclick()重写，统一使用document.onclick = function(){&#8230;}<br />
</p>
<p align="right">&nbsp;</p>
<img src ="http://www.blogjava.net/goodlyts/aggbug/209475.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/goodlyts/" target="_blank">流腥鱼</a> 2008-06-20 15:55 <a href="http://www.blogjava.net/goodlyts/archive/2008/06/20/209475.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js瘦身有道--选好合适的减肥药</title><link>http://www.blogjava.net/goodlyts/archive/2008/06/19/209033.html</link><dc:creator>流腥鱼</dc:creator><author>流腥鱼</author><pubDate>Wed, 18 Jun 2008 16:45:00 GMT</pubDate><guid>http://www.blogjava.net/goodlyts/archive/2008/06/19/209033.html</guid><wfw:comment>http://www.blogjava.net/goodlyts/comments/209033.html</wfw:comment><comments>http://www.blogjava.net/goodlyts/archive/2008/06/19/209033.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/goodlyts/comments/commentRss/209033.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/goodlyts/services/trackbacks/209033.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;现在的系统为了得到更好的用户体验，都加入了ajax的特效，只要用到了ajax的代码，就会引来一大堆js代码，这些代码其实也挺占用带宽的，为了使网页加载得更快，决定在项目中才用网上流行的js压缩器来压缩代码。压缩后的代码基本可以抽掉40%左右的脂肪。<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;找到几个压缩器，发现很多压缩器压缩后的js代码都出现这样或那样的问题<br />
<br />
<span style="color: #ff0000;">ESC 1.14&nbsp;&nbsp; <a href="http://www.saltstorm.net/depo/esc/?pod=js">http://www.saltstorm.net/depo/esc/?pod=js</a>&nbsp;&nbsp; 压缩后有些中文会出现问号（我的js代码是用utf-8格式）<br />
jsmin <a href="http://www.crockford.com/javascript/jsmin.html">http://www.crockford.com/javascript/jsmin.html</a>&nbsp;&nbsp;&nbsp;压缩后有些中文会出现问号<br />
dean edwards的packer <a href="http://dean.edwards.name/packer/">http://dean.edwards.name/packer/</a> 压缩后的js代码会出现部分分号或大括号丢失，导致语法错误</span><br />
<br />
最后找到了yuicompressor-2.3.4 <a href="http://developer.yahoo.com/yui/compressor/">http://developer.yahoo.com/yui/compressor/</a> 感觉很好用，压缩后无损代码，而且连css也可以压缩，压缩的时候很多参数可以设置，可以制定js代码的编码格式等，java运行，本人写了一个bat批处理遍历制定文件夹里面的所有js和css文件进行压缩。<br />
<br />
项目中用到网上流行的ext2 js库，所以项目中有很多js代码，于是写的bat遍历文件压缩代码<br />
<br />
</p>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000;">(dir&nbsp;</span><span style="color: #000000;">%</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">aa&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">b&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">s&nbsp;&nbsp;</span><span style="color: #000000;">|</span><span style="color: #000000;">&nbsp;findstr&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">e&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">c:</span><span style="color: #000000;">"</span><span style="color: #000000;">js</span><span style="color: #000000;">"</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">tmp.txt<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">f&nbsp;</span><span style="color: #000000;">%%</span><span style="color: #000000;">i&nbsp;in&nbsp;(tmp.txt)&nbsp;</span><span style="color: #0000ff;">do</span><span style="color: #000000;">&nbsp;java&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">jar&nbsp;yuicompressor</span><span style="color: #000000;">-</span><span style="color: #000000;">2.3</span><span style="color: #000000;">.</span><span style="color: #000000;">4</span><span style="color: #000000;">.jar&nbsp;</span><span style="color: #000000;">--</span><span style="color: #000000;">type&nbsp;js&nbsp;</span><span style="color: #000000;">--</span><span style="color: #000000;">charset&nbsp;utf</span><span style="color: #000000;">-</span><span style="color: #000000;">8</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">o&nbsp;</span><span style="color: #000000;">%%</span><span style="color: #000000;">i.tmp&nbsp;</span><span style="color: #000000;">%%</span><span style="color: #000000;">i&nbsp;&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;copy&nbsp;</span><span style="color: #000000;">%%</span><span style="color: #000000;">i</span><span style="color: #000000;">"</span><span style="color: #000000;">.tmp</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">%%</span><span style="color: #000000;">i&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;del&nbsp;</span><span style="color: #000000;">%%</span><span style="color: #000000;">i</span><span style="color: #000000;">"</span><span style="color: #000000;">.tmp</span><span style="color: #000000;">"</span><span style="color: #000000;"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />(dir&nbsp;</span><span style="color: #000000;">%</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">aa&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">b&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">s&nbsp;&nbsp;</span><span style="color: #000000;">|</span><span style="color: #000000;">&nbsp;findstr&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">e&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">c:</span><span style="color: #000000;">"</span><span style="color: #000000;">css</span><span style="color: #000000;">"</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">tmp.txt<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">f&nbsp;</span><span style="color: #000000;">%%</span><span style="color: #000000;">i&nbsp;in&nbsp;(tmp.txt)&nbsp;</span><span style="color: #0000ff;">do</span><span style="color: #000000;">&nbsp;java&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">jar&nbsp;yuicompressor</span><span style="color: #000000;">-</span><span style="color: #000000;">2.3</span><span style="color: #000000;">.</span><span style="color: #000000;">4</span><span style="color: #000000;">.jar&nbsp;</span><span style="color: #000000;">--</span><span style="color: #000000;">type&nbsp;css&nbsp;</span><span style="color: #000000;">--</span><span style="color: #000000;">charset&nbsp;utf</span><span style="color: #000000;">-</span><span style="color: #000000;">8</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">o&nbsp;</span><span style="color: #000000;">%%</span><span style="color: #000000;">i.tmp&nbsp;</span><span style="color: #000000;">%%</span><span style="color: #000000;">i&nbsp;&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;copy&nbsp;</span><span style="color: #000000;">%%</span><span style="color: #000000;">i</span><span style="color: #000000;">"</span><span style="color: #000000;">.tmp</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">%%</span><span style="color: #000000;">i&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;del&nbsp;</span><span style="color: #000000;">%%</span><span style="color: #000000;">i</span><span style="color: #000000;">"</span><span style="color: #000000;">.tmp</span><span style="color: #000000;">"</span><span style="color: #000000;"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div>
<p><br />
保存为&nbsp; jscompressor.bat 运行的时候在输入 jscompressor &lt;path&gt;&nbsp;&nbsp;(&lt;path&gt;是我们指定的路径) 就可以批量进行压缩，压缩后替换压缩前的代码。</p>
<p><br />
<br />
下面是一些参数的说明。</p>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000;">==============================================================================</span><span style="color: #000000;"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />YUI&nbsp;Compressor<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000;">==============================================================================</span><span style="color: #000000;"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />NAME<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;YUI&nbsp;Compressor&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;The&nbsp;Yahoo</span><span style="color: #000000;">!</span><span style="color: #000000;">&nbsp;JavaScript&nbsp;and&nbsp;CSS&nbsp;Compressor<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />SYNOPSIS<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;Usage:&nbsp;java&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">jar&nbsp;yuicompressor</span><span style="color: #000000;">-</span><span style="color: #000000;">x.y.z.jar&nbsp;[options]&nbsp;[input&nbsp;file]<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;Global&nbsp;Options<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">h,&nbsp;</span><span style="color: #000000;">--</span><span style="color: #000000;">help&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Displays&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">&nbsp;information<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">--</span><span style="color: #000000;">type&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">js</span><span style="color: #000000;">|</span><span style="color: #000000;">css</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifies&nbsp;the&nbsp;type&nbsp;of&nbsp;the&nbsp;input&nbsp;file<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">--</span><span style="color: #000000;">charset&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">charset</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Read&nbsp;the&nbsp;input&nbsp;file&nbsp;using&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">charset</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">--</span><span style="color: #000000;">line</span><span style="color: #000000;">-</span><span style="color: #0000ff;">break</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">column</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Insert&nbsp;a&nbsp;line&nbsp;</span><span style="color: #0000ff;">break</span><span style="color: #000000;">&nbsp;after&nbsp;the&nbsp;specified&nbsp;column&nbsp;number<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">v,&nbsp;</span><span style="color: #000000;">--</span><span style="color: #000000;">verbose&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Display&nbsp;informational&nbsp;messages&nbsp;and&nbsp;warnings<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">o&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">file</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Place&nbsp;the&nbsp;output&nbsp;into&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">file</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">.&nbsp;Defaults&nbsp;to&nbsp;stdout.<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;JavaScript&nbsp;Options<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">--</span><span style="color: #000000;">nomunge&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Minify&nbsp;only,&nbsp;</span><span style="color: #0000ff;">do</span><span style="color: #000000;">&nbsp;not&nbsp;obfuscate<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">--</span><span style="color: #000000;">preserve</span><span style="color: #000000;">-</span><span style="color: #000000;">semi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Preserve&nbsp;all&nbsp;semicolons<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">--</span><span style="color: #000000;">disable</span><span style="color: #000000;">-</span><span style="color: #000000;">optimizations&nbsp;&nbsp;&nbsp;Disable&nbsp;all&nbsp;micro&nbsp;optimizations<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />DESCRIPTION<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;The&nbsp;YUI&nbsp;Compressor&nbsp;is&nbsp;a&nbsp;JavaScript&nbsp;compressor&nbsp;which,&nbsp;in&nbsp;addition&nbsp;to&nbsp;removing<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;comments&nbsp;and&nbsp;white</span><span style="color: #000000;">-</span><span style="color: #000000;">spaces,&nbsp;obfuscates&nbsp;local&nbsp;variables&nbsp;using&nbsp;the&nbsp;smallest<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;possible&nbsp;variable&nbsp;name.&nbsp;This&nbsp;obfuscation&nbsp;is&nbsp;safe,&nbsp;even&nbsp;when&nbsp;using&nbsp;constructs<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;such&nbsp;as&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">eval</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;or&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">with</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;(although&nbsp;the&nbsp;compression&nbsp;is&nbsp;not&nbsp;optimal&nbsp;is&nbsp;those<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;cases)&nbsp;Compared&nbsp;to&nbsp;jsmin,&nbsp;the&nbsp;average&nbsp;savings&nbsp;is&nbsp;around&nbsp;</span><span style="color: #000000;">20</span><span style="color: #000000;">%</span><span style="color: #000000;">.<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;The&nbsp;YUI&nbsp;Compressor&nbsp;is&nbsp;also&nbsp;able&nbsp;to&nbsp;safely&nbsp;compress&nbsp;CSS&nbsp;files.&nbsp;The&nbsp;decision<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;on&nbsp;which&nbsp;compressor&nbsp;is&nbsp;being&nbsp;used&nbsp;is&nbsp;made&nbsp;on&nbsp;the&nbsp;file&nbsp;extension&nbsp;(js&nbsp;or&nbsp;css)<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />GLOBAL&nbsp;OPTIONS<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">h,&nbsp;</span><span style="color: #000000;">--</span><span style="color: #000000;">help<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prints&nbsp;help&nbsp;on&nbsp;how&nbsp;to&nbsp;use&nbsp;the&nbsp;YUI&nbsp;Compressor<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #000000;">--</span><span style="color: #000000;">line</span><span style="color: #000000;">-</span><span style="color: #0000ff;">break</span><span style="color: #000000;"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Some&nbsp;source&nbsp;control&nbsp;tools&nbsp;don</span><span style="color: #000000;">'</span><span style="color: #000000;">t&nbsp;like&nbsp;files&nbsp;containing&nbsp;lines&nbsp;longer&nbsp;than,</span><span style="color: #000000;"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;say&nbsp;</span><span style="color: #000000;">8000</span><span style="color: #000000;">&nbsp;characters.&nbsp;The&nbsp;linebreak&nbsp;option&nbsp;is&nbsp;used&nbsp;in&nbsp;that&nbsp;</span><span style="color: #0000ff;">case</span><span style="color: #000000;">&nbsp;to&nbsp;split<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">long</span><span style="color: #000000;">&nbsp;lines&nbsp;after&nbsp;a&nbsp;specific&nbsp;column.&nbsp;It&nbsp;can&nbsp;also&nbsp;be&nbsp;used&nbsp;to&nbsp;make&nbsp;the&nbsp;code<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;more&nbsp;readable,&nbsp;easier&nbsp;to&nbsp;debug&nbsp;(especially&nbsp;with&nbsp;the&nbsp;MS&nbsp;Script&nbsp;Debugger)<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specify&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;to&nbsp;get&nbsp;a&nbsp;line&nbsp;</span><span style="color: #0000ff;">break</span><span style="color: #000000;">&nbsp;after&nbsp;each&nbsp;semi</span><span style="color: #000000;">-</span><span style="color: #000000;">colon&nbsp;in&nbsp;JavaScript,&nbsp;and<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;after&nbsp;each&nbsp;rule&nbsp;in&nbsp;CSS.<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #000000;">--</span><span style="color: #000000;">type&nbsp;js</span><span style="color: #000000;">|</span><span style="color: #000000;">css<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;type&nbsp;of&nbsp;compressor&nbsp;(JavaScript&nbsp;or&nbsp;CSS)&nbsp;is&nbsp;chosen&nbsp;based&nbsp;on&nbsp;the<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extension&nbsp;of&nbsp;the&nbsp;input&nbsp;file&nbsp;name&nbsp;(.js&nbsp;or&nbsp;.css)&nbsp;This&nbsp;option&nbsp;is&nbsp;required<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;no&nbsp;input&nbsp;file&nbsp;has&nbsp;been&nbsp;specified.&nbsp;Otherwise,&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">&nbsp;option&nbsp;is&nbsp;only<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;required&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;the&nbsp;input&nbsp;file&nbsp;extension&nbsp;is&nbsp;neither&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">js</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;nor&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">css</span><span style="color: #000000;">'</span><span style="color: #000000;">.<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #000000;">--</span><span style="color: #000000;">charset&nbsp;character</span><span style="color: #000000;">-</span><span style="color: #000000;">set<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;a&nbsp;supported&nbsp;character&nbsp;set&nbsp;is&nbsp;specified,&nbsp;the&nbsp;YUI&nbsp;Compressor&nbsp;will&nbsp;use&nbsp;it<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;read&nbsp;the&nbsp;input&nbsp;file.&nbsp;Otherwise,&nbsp;it&nbsp;will&nbsp;assume&nbsp;that&nbsp;the&nbsp;platform</span><span style="color: #000000;">'</span><span style="color: #000000;">s</span><span style="color: #000000;"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">default</span><span style="color: #000000;">&nbsp;character&nbsp;set&nbsp;is&nbsp;being&nbsp;used.&nbsp;The&nbsp;output&nbsp;file&nbsp;is&nbsp;encoded&nbsp;using<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;same&nbsp;character&nbsp;set.<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">o&nbsp;outfile<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Place&nbsp;output&nbsp;in&nbsp;file&nbsp;outfile.&nbsp;If&nbsp;not&nbsp;specified,&nbsp;the&nbsp;YUI&nbsp;Compressor&nbsp;will<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">default</span><span style="color: #000000;">&nbsp;to&nbsp;the&nbsp;standard&nbsp;output,&nbsp;which&nbsp;you&nbsp;can&nbsp;redirect&nbsp;to&nbsp;a&nbsp;file.<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">v,&nbsp;</span><span style="color: #000000;">--</span><span style="color: #000000;">verbose<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Display&nbsp;informational&nbsp;messages&nbsp;and&nbsp;warnings.<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />JAVASCRIPT&nbsp;ONLY&nbsp;OPTIONS<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #000000;">--</span><span style="color: #000000;">nomunge<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Minify&nbsp;only.&nbsp;Do&nbsp;not&nbsp;obfuscate&nbsp;local&nbsp;symbols.<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #000000;">--</span><span style="color: #000000;">preserve</span><span style="color: #000000;">-</span><span style="color: #000000;">semi<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Preserve&nbsp;unnecessary&nbsp;semicolons&nbsp;(such&nbsp;as&nbsp;right&nbsp;before&nbsp;a&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">}</span><span style="color: #000000;">'</span><span style="color: #000000;">)&nbsp;This&nbsp;option<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is&nbsp;useful&nbsp;when&nbsp;compressed&nbsp;code&nbsp;has&nbsp;to&nbsp;be&nbsp;run&nbsp;through&nbsp;JSLint&nbsp;(which&nbsp;is&nbsp;the<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">case</span><span style="color: #000000;">&nbsp;of&nbsp;YUI&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;example)<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #000000;">--</span><span style="color: #000000;">disable</span><span style="color: #000000;">-</span><span style="color: #000000;">optimizations<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Disable&nbsp;all&nbsp;the&nbsp;built</span><span style="color: #000000;">-</span><span style="color: #000000;">in&nbsp;micro&nbsp;optimizations.<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div>
<p><br />
<br />
<br />
<br />
&nbsp;</p>
<img src ="http://www.blogjava.net/goodlyts/aggbug/209033.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/goodlyts/" target="_blank">流腥鱼</a> 2008-06-19 00:45 <a href="http://www.blogjava.net/goodlyts/archive/2008/06/19/209033.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>