??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产精品无码专区,久久久久亚洲精品中文字幕,亚洲av第一网站久章草http://m.tkk7.com/HippyChen/archive/2006/05/26/48307.html晨钟暮鼓晨钟暮鼓Fri, 26 May 2006 05:26:00 GMThttp://m.tkk7.com/HippyChen/archive/2006/05/26/48307.htmlhttp://m.tkk7.com/HippyChen/comments/48307.htmlhttp://m.tkk7.com/HippyChen/archive/2006/05/26/48307.html#Feedback0http://m.tkk7.com/HippyChen/comments/commentRss/48307.htmlhttp://m.tkk7.com/HippyChen/services/trackbacks/48307.html 一 用正的DOCTYPE和Namespace

xhtml1提供了DTD的三U选择和三U可能的声明

q渡?Transitional)最宽松的DTD?/p>

严格?Strict) 不能使用表现层的标记和属?/p>

框架?Frameset) 用在那些使用元素的文上的?/frameset>

DOCTYPE声明在所有代码之前,紧随DOCTYPE声明之后是一个xhtml namespace声明Q放在元素中

使用DOCTYPE和名字空间后Q你的xhtml Transitional 1.0面的开头看h像q样Q?/p>

http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd>
http://www.w3.org/1999/xhtml xml:lang="en" lang="en">

?声明你的内容cd

在标{中插入一个Content-Type元素来置编码语a?/p>

例如使用ISO-8859-1~码Q可以这P

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta>

/P>

?用小写字母书写所有的标签

元素的属性名必须写Q属性值和内容则不是必ȝ。另外需要注意的是:Class和ID值对大小写敏感?/p>

?l所有属性值加引号

如果需要在属性值里使用双引P可以?amp;quot;

如果需要在属性值里使用单引P可以?amp;apos;

?所有属性都需要?/strong>

例如:

<input type="checkbox" name="shirt" value="medium" checked>

要改写成下面的代?/p>

<input type="checkbox" name="shirt" value="medium" checked="checked">

?关闭所有的标签

例如

<p>Hello

<p>world

要修Ҏ下面的样子:

<p>Hello</p>

<p>world</p>

?I标{也要关?/strong>

例如<br> 要修Ҏ<br />

?不要在注视内容中使用"--"

?-”只能发生在xhtml注视的开头和l束?/p>

q个注释形式在xhtml下是无效的。可以用{号或者其它你喜欢的符h换注释内部的虚线

?把所?lt;?amp;W号~码

M<Q如果不是标{一部分Q都必须被编码成&lt;

M&,如果不是实体的一部分Q都必须被编码ؓ&amp;

同时推荐?amp;gt来编?gt;

最?免费工具HTML Tidy能够帮助你迅速的HTML转换到有效的xhtml?/p>

晨钟暮鼓 2006-05-26 13:26 发表评论
]]>
javascript压羃http://m.tkk7.com/HippyChen/archive/2006/05/26/48305.html晨钟暮鼓晨钟暮鼓Fri, 26 May 2006 05:12:00 GMThttp://m.tkk7.com/HippyChen/archive/2006/05/26/48305.htmlhttp://m.tkk7.com/HippyChen/comments/48305.htmlhttp://m.tkk7.com/HippyChen/archive/2006/05/26/48305.html#Feedback1http://m.tkk7.com/HippyChen/comments/commentRss/48305.htmlhttp://m.tkk7.com/HippyChen/services/trackbacks/48305.htmlAjax除了自己要写js代码外,也免不了要用其它第三方库。当你在为提高了用户体验Q做Z很喧的效果而欣喜的时候,是否惌优化一下JS的效率?/p>

js的速度分ؓ两种Q下载速度和执行速度。今天就先来说说下蝲速度。要想js的下载速度快,需要尽量减js文g的大。这里我们可以用一个工具ESC(ECMAScript cruncher)来帮我们完成q个工作Q不q这个工具只能在Windows下用?/p>

?a >http://www.saltstorm.net/depo/esc/introduction.wbm?pod=js下蝲ESC.zip,解压后看看它的帮助文。很单?/p>

压羃U别分ؓ5U,??

Level 0 :: No compression

Level 1 :: Comment removal

Level 2 :: Whitespace removal

Level 3 :: Newline removal

Level 4 :: Variable substitution

在WINDOWS命o行下执行

cscript ESC.wsf -ow menu2.js menu.js会把menu.js按照U别2来压~(默认U别?Qؓmenu2.js

cscript ESC.wsf -l 3 -ow menu3.js menu.js会把menu.js按照U别3来压~ؓmenu3.js

需要注意的是,U别4会把变量名修改,如果你的js中用C全局变量或者类的话Q就不能使用该别了Q否则其它用你的js的文件可能会无法正常q行?/p>

试了一下,把yui的menu.js压羃了一下,对应的别和压羃率分别如下:

U别1:压羃?4.41%

U别2:压羃?2.82%

U别1:压羃?4.93%

原来130多K的文件压~后也就40多KQ看来还是挺有用处的?/p>

另外q有一个小工具jsmin也可以压~,不过没有ESC的level选项Q看了一下好像压~效果类gESC的level3.南大学的一些老师写了个jsmin的图形界面程?a >JsMinGUI,使用h更加方便。:Q)

Dojo目l也提供了一个工?shrinksafe可以通过http://alex.dojotoolkit.org/shrinksafe/在线的上传要压羃的文Ӟ处理完毕后可以保存到本地Q另外shrinksafeq提供了一个本地运行的版本Q需要jre1.4的支持?/p>

ps:对于一些压~的代码Q在阅读时可以用JavaScript Code Improver来进行格式化。看看它主页上的一个例子:

原来的代码:

<script language="JavaScript">var i=0,s="",k=0;function foo(){for(j=0;j<10;j++){for(i=0;i<10;i++){s="string1";k=Math.floor(Math.random()*10);}for(i=20;i>9;i--){s="string2";k=i;}}}</script>

格式化后Q?/p>

<script language="JavaScript">
var i = 0, s = "", k = 0;
function foo()
{
for(j = 0; j < 10; j++)
{
for(i = 0; i < 10; i++)
{
s = "string1";
k = Math.floor( Math.random()*10 );
}
for(i = 20; i > 9; i--)
{
s = "string2";
k = i;
}
}
}
</script>



晨钟暮鼓 2006-05-26 13:12 发表评论
]]>
Javascript的调试工PfvloggerQ?/title><link>http://m.tkk7.com/HippyChen/archive/2005/11/30/21955.html</link><dc:creator>晨钟暮鼓</dc:creator><author>晨钟暮鼓</author><pubDate>Wed, 30 Nov 2005 06:07:00 GMT</pubDate><guid>http://m.tkk7.com/HippyChen/archive/2005/11/30/21955.html</guid><wfw:comment>http://m.tkk7.com/HippyChen/comments/21955.html</wfw:comment><comments>http://m.tkk7.com/HippyChen/archive/2005/11/30/21955.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/HippyChen/comments/commentRss/21955.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/HippyChen/services/trackbacks/21955.html</trackback:ping><description><![CDATA[<P>Javascript的调试一般都采用alert函数来打印出感兴的信息Q不q这U方法档调试的信息比较多的时候,显得非帔R烦。也可以采用一些专门的Javascript调试器,IE和Firefox都有Q也没有具体用过Q不太做太多评hQ感觉这L调试有点杀鸡用牛刀的味道。而且通用性不强,要是换了览器又得重新学习一U调试工兗?</P> <P>fvlogger(<A ><FONT color=#5a7594>http://alistapart.textdrive.com/articles/jslogging#fvlogger)</FONT></A>是一个模仿log4j的Javascript调试库,采用所有的调试信息写入到DIV中,再根据不同的分类Qdebug,info,warn,error,fatalQ来查看?/P> <P>使用h非常单,它的|站上就有例子。下面是我学习的时候写的一个例子:</P> <P> <div class="9zzt3pd" id=fvlogger><pre></DIV> <DIV><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"<BR>"<A ><FONT color=#5a7594>http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</FONT></A>"><BR><html xmlns="<A ><FONT color=#5a7594>http://www.w3.org/1999/xhtml</FONT></A>" lang="en"><BR><head></DIV> <DIV><title>JSLog试</title></DIV> <DIV><script type="text/javascript" src="fvlogger/logger.js"></script><BR><link rel="stylesheet" type="text/css" href="fvlogger/logger.css" /></DIV> <DIV></head></DIV> <DIV><body></DIV> <DIV><input type="button" name="toggleBtn" value="昄调试信息" onclick="toggleDebugConsole();return false;"><BR><div id="fvlogger" style="display:none"><BR><dl><BR><dt>fvlogger</dt><BR><dd class="all"><a href="#fvlogger" onclick="showAll();" title="show all" id="all">all</a></dd><BR><dd class="debug"><a href="#fvlogger" onclick="showDebug();" title="show debug" id="showDebug">debug</a></dd><BR><dd class="info"><a href="#fvlogger" onclick="showInfo();" title="show info" id="showInfo">info</a></dd><BR><dd class="warn"><a href="#fvlogger" onclick="showWarn();" title="show warnings" id="showWarn">warn</a></dd><BR><dd class="error"><a href="#fvlogger" onclick="showError();" title="show errors" id="showError">error</a></dd><BR><dd class="fatal"><a href="#fvlogger" onclick="showFatal();" title="show fatals" id="showFatal">fatal</a></dd><BR><dd><a href="#fvlogger" onclick="eraseLog(true);" title="erase">erase</a></dd><BR></dl><BR></div></DIV> <DIV><script language="javascript"><BR>var showdebug=false;<BR>function toggleDebugConsole(){<BR>if (showdebug==false){<BR>showdebug=true; <BR>toggleBtn.value="隐藏调试信息";<BR>document.getElementById("fvlogger").style.display="block";<BR>}else {<BR>showdebug=false;<BR>toggleBtn.value="昄调试信息";<BR>document.getElementById("fvlogger").style.display="none";<BR>}<BR>}<BR></script></DIV> <DIV><script language="javascript"><BR>debug("调试信息");<BR>info("一般信?);<BR>warn("警告信息");<BR>error("错误信息");<BR>//fatal("严重错误信息");<BR></script><BR></body><BR></html></DIV> <DIV></pre></DIV> <P> <div class="v93p9xn" id=fvlogger></DIV> <P> <P> <SCRIPT language=javascript></SCRIPT> </P> <P> <SCRIPT language=javascript></SCRIPT> </P> <P> <P>下蝲fvlogger,用到的js,css,囄Qlogger.css,logger.js,*.pngQ都攑ֈfvlogger子目录下可以了?/P><img src ="http://m.tkk7.com/HippyChen/aggbug/21955.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/HippyChen/" target="_blank">晨钟暮鼓</a> 2005-11-30 14:07 <a href="http://m.tkk7.com/HippyChen/archive/2005/11/30/21955.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://m.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://zgnyxx.com" target="_blank">Դ</a>| <a href="http://pengkaimjg.com" target="_blank">XOɫXO</a>| <a href="http://ninidian.com" target="_blank">޹һ߹ۿ</a>| <a href="http://3fsf.com" target="_blank">պ뾫Ʒþһ</a>| <a href="http://yeshenghuowang.com" target="_blank">ɫƵ</a>| <a href="http://zqsplc.com" target="_blank">պëƬƵ</a>| <a href="http://2121065.com" target="_blank">޹徫Ʒ߾þ</a>| <a href="http://yy7699.com" target="_blank">߳ëƬڵƵ</a>| <a href="http://wwwly6080.com" target="_blank">ŷëƬAƵ޷</a>| <a href="http://xass1.com" target="_blank">ձaƵ</a>| <a href="http://8123pp.com" target="_blank">޹Ʒһþ</a>| <a href="http://jinmenonline.com" target="_blank">ձһƵۿ </a>| <a href="http://339258.com" target="_blank">˴WWW</a>| <a href="http://jnyygs.com" target="_blank">jjzz߲Ź</a>| <a href="http://pgb168.com" target="_blank">պ߹ۿ</a>| <a href="http://yuduruizhi.com" target="_blank">Ůٸһ</a>| <a href="http://jastrelax.com" target="_blank">þùһ </a>| <a href="http://szq18888.com" target="_blank">ɫɫwww</a>| <a href="http://ynkaishan.com" target="_blank">վ߹ۿ</a>| <a href="http://ztxfkj.com" target="_blank">Avۺ辫Ʒ</a>| <a href="http://siminglighting.com" target="_blank">AžƷһ</a>| <a href="http://520xiang.com" target="_blank">þùŮѹۿƷ</a>| <a href="http://bx85.com" target="_blank">þҹɫƷAV</a>| <a href="http://jujiamy.com" target="_blank">߹ۿƵվ</a>| <a href="http://wwwkk2347.com" target="_blank">պһ</a>| <a href="http://cmanpower.com" target="_blank">һɫþۺ޾Ʒ</a>| <a href="http://91ptv.com" target="_blank">Ƶѹۿ</a>| <a href="http://pyjxyey.com" target="_blank">˳ɵӰվɫ</a>| <a href="http://nxeea.com" target="_blank">2048޾Ʒ</a>| <a href="http://mt569.com" target="_blank">vƬ߹ۿƵվ</a>| <a href="http://vastraje.com" target="_blank">Av뾫Ʒһ</a>| <a href="http://csl-chinga.com" target="_blank">޸ۺ԰Ƶ</a>| <a href="http://glgg99.com" target="_blank">뾫Ʒһ </a>| <a href="http://500308k.com" target="_blank">avרۿƷ</a>| <a href="http://77110524.com" target="_blank">ѹۿaƬվ</a>| <a href="http://doubiseo.com" target="_blank">Ƶ</a>| <a href="http://lcqkp.com" target="_blank">ձþһva</a>| <a href="http://zzz477.com" target="_blank">AVվ߹ۿ</a>| <a href="http://biarn.com" target="_blank">ѹ˸߹ۿվ</a>| <a href="http://lyjhjx.com" target="_blank">ֻˬʹƬҹ</a>| <a href="http://glgg99.com" target="_blank">þþƷ޾Ʒɫ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>