ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美中文一区二区三区,最新国产精品久久精品,免费在线看污http://www.aygfsteel.com/shaofan/category/7890.html关于JAVA与èÊYä»¶å·¥½E?/description>zh-cnMon, 14 Mar 2011 00:21:10 GMTMon, 14 Mar 2011 00:21:10 GMT60关于DOM的另一½‹?/title><link>http://www.aygfsteel.com/shaofan/archive/2007/04/01/107803.html</link><dc:creator>shaofan</dc:creator><author>shaofan</author><pubDate>Sun, 01 Apr 2007 10:45:00 GMT</pubDate><guid>http://www.aygfsteel.com/shaofan/archive/2007/04/01/107803.html</guid><wfw:comment>http://www.aygfsteel.com/shaofan/comments/107803.html</wfw:comment><comments>http://www.aygfsteel.com/shaofan/archive/2007/04/01/107803.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/shaofan/comments/commentRss/107803.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/shaofan/services/trackbacks/107803.html</trackback:ping><description><![CDATA[ <p>DOM (Document Object Model)是一套语­a€æ— å…³çš„XML解析的接口定义。它定义äº?ji¨£n)在XML解析中需要的¾cÕdž‹åQŒæ–¹æ³•,以及(qi¨¢ng)属性,比如如何获得一个XML标签åQŒå¦‚何改变标½{„¡š„内容åQŒå¦‚何改变它的属性,½{‰ç­‰ã€?/p> <p>DOM只是一个定义,òq¶ä¸æ˜¯å…·ä½“的实现åQŒå®ƒçš„ç›®çš„å°±æ˜¯äØ“(f¨´)äº?ji¨£n)让大家在各个åã^åîC¸Šéƒ½èƒ½ç”¨ç›¸åŒçš„æ–¹å¼æ¥å¤„理XMLåQŒè¿™æ ·ä¸€æ¥ï¼Œæˆ‘只要了(ji¨£n)è§£DOMåQŒåŸºæœ¬ä¸Šåœ¨å„个åã^åîC¸Šéƒ½å¯ä»¥æ–¹ä¾¿çš„处理XMLåQŒè€Œä¸ç”¨é‡æ–°å­¦ä¹?f¨¤n)äº?ji¨£n)。比如说åQŒJava, JavaScript, Python都有DOM的实玎ͼŒç”¨å®ƒä»¬æ¥å¤„理XMLåQŒæ–¹å¼åŸºæœ¬ä¸Šéƒ½æ˜¯ä¸€æ ïL(f¨¥ng)š„åQˆå½“然也有非DOMçš„XML解析方式åQ‰ã€‚在Java下,实现DOM的类库就有很多,比如JDom,XercesåQ?用GOOGLE一搜就一大把。现在Java 5.0内置的就是Xerces。而JavaScript本èínž®±å†…¾|®äº†(ji¨£n)DOM的实现。Python也默认安装了(ji¨£n)DOM的库ã€?/p> <p>正因为DOM致力于实现各个åã^åîC¸Šå¯¹XML一致的处理方式åQŒå®ƒå®šä¹‰äº?ji¨£n)一堆自å·Þqš„æŽ¥å£ã€‚因此在用DOM的时候,ä¼?x¨¬)有很多非NATIVE的东东。比如说åQŒè¿”回节点的子节点的æ–ÒŽ(gu¨©)³•åQŒchildNodesåQŒè¿”回的¾cÕdž‹æ˜¯NodeList。我½W¬ä¸€‹Æ¡åœ¨Java上用åQŒå°±ä»¥äØ“(f¨´)是返回一个ListåQŒç„¶åŽç”¨get(n)æ–ÒŽ(gu¨©)³•来取得某元素。而实际上NodeList是用item(n)的方法来取得某元素的。这ž®Þp®©æˆ‘觉得很怪。而DOM正是用这¿Uæ–¹å¼æ¥èŽ·å¾—â€œè¯­­a€æ— å…³â€çš„能力的ã€?/p> <p>DOM是用IDL(Interface Definition Language)来定义的。完整的定义可以在这里找åˆ?<a >http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html</a>。IDL也很å®ÒŽ(gu¨©)˜“看懂。定义的1.1节列å‡ÞZº†(ji¨£n)所有的接口ã€?/p> <p>˜q™äº›æŽ¥å£é‡Œï¼Œæœ€é‡è¦è€Œä¸”常用的是Node,NodeList,Document,Element,Text,Attr˜q™å‡ ä¸ªã€‚DOM把XML文档看作一‹‚‰| ‘(w¨¨i)åQŒæ ‘(w¨¨i)上的每个元素都是Node。每个Node都属于某个类型,比如Element,attribute,text½{‰ã€‚这些类型就表明˜q™ä¸ªèŠ‚ç‚¹åœ¨XML文档里的¾cÕdž‹äº?ji¨£n)ã€?/p> <p>比如Node里有个属性:(x¨¬)</p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #000000">  readonly attribute unsigned </span> <span style="COLOR: #0000ff">short</span> <span style="COLOR: #000000">  nodeType;<img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span> </div> <p>æ ÒŽ(gu¨©)®˜q™ä¸ªå®šä¹‰åQŒå¯¹äºŽå–得的节点åQŒæˆ‘们就可以通过è¯Õd–nodeType˜q™ä¸ªå±žæ€§æ¥åˆ¤æ–­˜q™ä¸ªèŠ‚ç‚¹çš„ç±»åž‹ã€‚åœ¨Java里,所有的属性都是用getter来取得的åQŒå› æ­¤å¯¹æŸèŠ‚ç‚¹nåQŒå°±å¯ä»¥ç”¨n.getNodeType()取得它的¾cÕdž‹ã€‚Node接口里也定义äº?ji¨£n)类型常量ï¼?x¨¬)</p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #000000">  const unsigned short      ELEMENT_NODE                   = 1;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  const unsigned short      ATTRIBUTE_NODE                 = 2;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  const unsigned short      TEXT_NODE                      = 3;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  const unsigned short      CDATA_SECTION_NODE             = 4;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  const unsigned short      ENTITY_REFERENCE_NODE          = 5;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  const unsigned short      ENTITY_NODE                    = 6;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  const unsigned short      PROCESSING_INSTRUCTION_NODE    = 7;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  const unsigned short      COMMENT_NODE                   = 8;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  const unsigned short      DOCUMENT_NODE                  = 9;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  const unsigned short      DOCUMENT_TYPE_NODE             = 10;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  const unsigned short      DOCUMENT_FRAGMENT_NODE         = 11;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />  const unsigned short      NOTATION_NODE                  = 12;</span> </div> <p>用这些常量和和n.getNodeType()的结果比较,ž®±å¯ä»¥çŸ¥é“它是不是某¿Uç±»åž‹ã€?/p> <p>Node接口中也定义äº?ji¨£n)一些方法,比如åQ?/p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #000000"> Node     appendChild(in Node newChild)    raises(DOMException);</span> </div> <p>表明appendChildæ–ÒŽ(gu¨©)³•需要一个Node¾cÕdž‹çš„参敎ͼŒ˜q”回一个Nodeã€?具体的说明可以点文档上的链接˜q›åŽ»åQŒä¹Ÿå¾ˆå®¹æ˜“看懂ã€?/p> <p>Node接口里定义了(ji¨£n)操纵节点的方法,比如增加子节点,˜q”回父节点,插入新节点,˜q”回节点¾cÕdž‹åQŒç­‰½{‰ã€‚Document,Element½{‰æŽ¥å£éƒ½¾l§æ‰¿Node接口åQŒå› æ­¤åœ¨å®ƒä»¬ä¸Šé¢éƒ½å¯ä»¥ä‹É用操¾UµèŠ‚ç‚¹çš„æ–ÒŽ(gu¨©)³•ã€?/p> <p> <strong>Document</strong>:代表整个XML文档。所有DOM元素都不能用¾cÖM¼¼Java里new的方式来生成åQŒè€Œæ˜¯è¦é€šè¿‡è°ƒç”¨Document里的相应æ–ÒŽ(gu¨©)³•来生成。因此它提供äº?ji¨£n)生成诸如Element, Attr, Text的方法。比如createElement, createTextNode, createComment½{‰ã€‚它也提供了(ji¨£n)åäØ“(f¨´)getElementsByTagName的方法,用来通过标签名称来取得其对象。比如getElementByTagName("ul")ž®±å¯ä»¥èŽ·å¾—æ‰€æœ‰ul标签。它也提供一些文档的属性,比如xmlEncoding,inputEncoding½{‰ã€‚它的一个属æ€?documentElement代表文档的根节点。所有对XML元素的操作,基本上都是从Document开始的ã€?/p> <p> <strong>Element</strong>:代表一个XML标签。它可以有属性,子标½{¾ï¼Œ½{‰ã€‚比å¦?lt;ul id="booklist"><li>hello</li></ul>。标½{¾ul是一个Element,它有一个属性叫idåQŒå±žæ€§çš„值是booklist。它有一个子¾l“点li。li也是一个标½{¾ï¼Œå®ƒä¹Ÿæœ‰ä¸ªå­èŠ‚ç‚¹helloåQŒæ˜¯ä¸€ä¸ªText¾cÕdž‹çš„节炏V€‚这个接口提供操¾Uµå…¶æ ‡ç­¾å±žæ€§çš„æ–ÒŽ(gu¨©)³•åQŒæ¯”如getAttribute,setAttribute,removeAttribute½{‰ã€‚它也提供了(ji¨£n)å’ŒDocument中一æ ïL(f¨¥ng)š„getElementsByTagName的方法,用来获得在这个节点下的元素ã€?/p> <p> <strong>Attr</strong>:代表标签中的属性。比如上面的id。它也是一个Node。它有名字,å€û|¼Œä¹Ÿå¯ä»¥èŽ·å¾—å®ƒçš„æ‰€å±žæ ‡½{¾ã€?/p> <p> <strong>Text</strong>:代表一ŒD‰|–‡å­—,比如上面的helloåQŒå®ƒä¹Ÿä¸€ä¸ªNodeåQŒä½†æ¯”较ç‰ÒŽ(gu¨©)®ŠåQŒå®ƒä¸æ˜¯ç›´æŽ¥¾l§æ‰¿NodeåQŒè€Œæ˜¯¾l§æ‰¿CharacterData接口åQŒåŽè€…ç‘ô承了(ji¨£n)Node。但是它不能有子节点ã€?/p> <p>用JavaScript¾l™ä¸€ä¸ªä¾‹å­ã€‚假设有一个HTML文档åQ?/p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">html</span> <span style="COLOR: #0000ff">><</span> <span style="COLOR: #800000">head</span> <span style="COLOR: #0000ff">><</span> <span style="COLOR: #800000">title</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">Try DOM</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">title</span> <span style="COLOR: #0000ff">></</span> <span style="COLOR: #800000">head</span> <span style="COLOR: #0000ff">><</span> <span style="COLOR: #800000">body</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">ul</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">li</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">hello</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">li</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">li</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">world</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">li</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">ul</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">body</span> <span style="COLOR: #0000ff">></</span> <span style="COLOR: #800000">html</span> <span style="COLOR: #0000ff">></span> </div> <p>下面是增加一个liçš„JavaScriptæ–ÒŽ(gu¨©)³•åQ?/p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #000000">ulList </span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> document.getElementsByTagName(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">ul</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">);<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />ul     </span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> ulList.item(</span> <span style="COLOR: #000000">0</span> <span style="COLOR: #000000">);<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />txt    </span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> document.createTextNode(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">I am new li</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">);<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />li     </span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> document.createElement(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">li</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">);<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />li.appendChild(txt);<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />ul.appendChild(li);</span> </div> <p>用Java来写åQŒæ˜¯˜q™æ ·åQ?/p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #000000">NodeList ulList </span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> document.getElementsByTagName(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">ul</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">);<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />Node        ul       </span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> ulList.item(</span> <span style="COLOR: #000000">0</span> <span style="COLOR: #000000">);<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />Text          txt      </span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> document.createTextNode(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">I am new li</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">);<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />Element    li        </span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> document.createElement(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">li</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">);<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />li.appendChild(txt);<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />ul.appendChild(li);</span> </div> <p>可以看到处理方式和数据类型都是一æ ïL(f¨¥ng)š„。如果要äº?ji¨£n)解更多åQŒå¯ä»¥çœ‹çœ‹DOM的定义,都是IDLã€?/p> <img src ="http://www.aygfsteel.com/shaofan/aggbug/107803.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/shaofan/" target="_blank">shaofan</a> 2007-04-01 18:45 <a href="http://www.aygfsteel.com/shaofan/archive/2007/04/01/107803.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux中对不同版本的èÊY件进行管ç?update-alternatives)http://www.aygfsteel.com/shaofan/archive/2006/12/25/89801.htmlshaofanshaofanSun, 24 Dec 2006 17:43:00 GMThttp://www.aygfsteel.com/shaofan/archive/2006/12/25/89801.htmlhttp://www.aygfsteel.com/shaofan/comments/89801.htmlhttp://www.aygfsteel.com/shaofan/archive/2006/12/25/89801.html#Feedback1http://www.aygfsteel.com/shaofan/comments/commentRss/89801.htmlhttp://www.aygfsteel.com/shaofan/services/trackbacks/89801.html我的博客已搬å®Óž¼Œè¯ïL(f¨¥ng)§»æ­¥åˆ° http://shao-fan.com/blog 阅读最新内容!


Ubuntu/Debian中的update-alternative用来对系¾lŸä¸­ä¸åŒç‰ˆæœ¬çš„同个èÊY件进行管理ã€?br /> 比如åQŒç³»¾lŸä¸­å¯èƒ½è£…有GNUçš„Java¾~–译器,和SUNçš„Java¾~–译器。可以用update-alternatives来设¾|®å½“前ä‹É用它们中的哪一个ã€?/p>

它的原理是在/usr/bin中徏立一个linkåQŒæŒ‡å?etc/alternatives中的一个文ä»Óž¼Œè€Œäº›æ–‡äšg又是一个linkåQŒæŒ‡å‘当前ä‹É用的命ä×o(h¨´)。比如java命ä×o(h¨´)åQŒæŸ¥çœ‹å¦‚下:(x¨¬)

 $ which java
/usr/bin/java
$ ls -l /usr/bin/java
lrwxrwxrwx /usr/bin/java -> /etc/alternatives/java
$ ls -l /etc/alternatives/java
lrwxrwxrwx /etc/alternatives/java -> /usr/lib/j2re1.5-sun/bin/java
$ ls -l /usr/lib/j2re1.5-sun/bin/java
-rwxr-xr-x /usr/lib/j2re1.5-sun/bin/java

参数--display可以某个软äšg的当前配¾|®ï¼Œå¦‚:(x¨¬)

 $ /usr/sbin/update-alternatives --display java
java - status is auto.
link currently points to /usr/lib/j2re1.5-sun/bin/java
/usr/lib/kaffe/bin/java - priority 300
slave java.1.gz: /usr/share/man/man1/java.kaffe.1.gz
/usr/lib/j2re1.5-sun/bin/java - priority 315
slave java.1.gz: /usr/lib/j2re1.5-sun/man/man1/java.1.gz
Current `best' version is /usr/lib/j2re1.5-sun/bin/java.

status有autoå’Œmanual两种。一旦用æˆäh›´æ”¹äº†(ji¨£n)¾pȝ»Ÿçš„默认设¾|®ï¼Œå®ƒå°±å˜äØ“(f¨´)manual。在auto的状态下åQŒç³»¾lŸä¼š(x¨¬)æ ÒŽ(gu¨©)®å‡ å¥—配置的priority来判断当前应该ä‹É用哪套配¾|®ã€?/p>

每套配置可以讑֮šå¤šä¸ªlinkåQŒå®ƒä»¬è¢«¿UîCØ“(f¨´)slave。上面的例子中,有两套java的配¾|®ã€‚一套是/usr/lib/kafe/bin/javaåQŒå¦ä¸€å¥—是/usr/lib/j2re1.5-sun/bin/javaåQŒå®ƒä»¬å„有一个slave。在些例中这些slave讄¡½®çš„æ˜¯java命ä×o(h¨´)çš?manual。当更改äº?ji¨£n)配¾|®æ—¶åQŒç”¨man命ä×o(h¨´)查看的帮助也ä¼?x¨¬)相应更攏V€?/p>

参数--config可以用来更改当前的配¾|®ã€?/p>

 $ sudo /usr/sbin/update-alternatives --config java 
There are 2 alternatives which provide `java'.
Selection Alternative
-----------------------------------------------
1 /usr/lib/kaffe/bin/java
*+ 2 /usr/lib/j2re1.5-sun/bin/java
Press enter to keep the default*, or type selection number: 1
Using `/usr/lib/kaffe/bin/java' to provide `java'.

参数--install用来讄¡½®ä¸€å¥—新的配¾|®ã€‚具体参è§?http://blog.stevenkroon.com/2006/08/29/debian-update-alternatives/



]]>
关于Firefox无法保存讄¡½®çš„é—®é¢?/title><link>http://www.aygfsteel.com/shaofan/archive/2006/07/24/59866.html</link><dc:creator>shaofan</dc:creator><author>shaofan</author><pubDate>Mon, 24 Jul 2006 10:21:00 GMT</pubDate><guid>http://www.aygfsteel.com/shaofan/archive/2006/07/24/59866.html</guid><wfw:comment>http://www.aygfsteel.com/shaofan/comments/59866.html</wfw:comment><comments>http://www.aygfsteel.com/shaofan/archive/2006/07/24/59866.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/shaofan/comments/commentRss/59866.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/shaofan/services/trackbacks/59866.html</trackback:ping><description><![CDATA[最˜q‘Firefoxå‡ÞZº†(ji¨£n)炚w—®é¢˜ã€‚我˜q™é‡Œç”¨http proxy上网åQŒè¿žæŽ¥è®¾¾|®é‡Œè¦è®¾¾|®ç›¸åº”çš„proxy。但发现每次重启ffåQŒè¿žæŽ¥è®¾¾|®éƒ½è¢«é‡¾|®äØ“(f¨´)“直接连接”。即使改回“通过proxy˜qžæŽ¥â€ï¼Œä¸‹æ¬¡é‡å¯åˆè¢«é‡ç½®äº?ji¨£n)ã€?br /><br />马上google一把,发现¾cÖM¼¼çš„问题大致有两种解决办法åQ?br />1.˜q›å…¥safe modeåQŒä¼š(x¨¬)出现一个对话框åQŒæŠŠä¸‰ä¸ªé€‰é¡¹éƒ½å‹¾ä¸Šï¼Œé‡å¯ã€?br />2.在地址栏输入about:configåQŒä¼š(x¨¬)出现所有的配置åQŒæŠŠè¦æ”¹çš„æ”¹äº?ji¨£n)即可ã€?br />3.直接修改prefs.jsæ–‡äšgã€?br /><br />但这三个æ–ÒŽ(gu¨©)³•对偶的FF都不½Ž¡ç”¨ã€?br /><br />最后的解决æ–ÒŽ(gu¨©)³•是,删除<br />C:\Documents and Settings\<user name>\Application Data\Mozilla\Firefox\Profiles\<xxxxxxxx.default>\ <br />下的user.jsåQŒç„¶åŽå†ä¿®æ”¹prefs.js。然后一切都正常äº?ji¨£n)ã€?br /><br />原来åQŒff最基本的配¾|®æ–‡ä»¶æ˜¯prefs.js。而user.js的优先çñ”应该是比prefs.js高,因此每次重启它都从user.jsè¯Õd–配置。而通过正常途径åQŒå¦‚在选项菜单里改讄¡½®åQŒæ— æ³•在user.jsé‡Œä¿å­˜ï¼ˆä¸çŸ¥é“äØ“(f¨´)什么)(j¨ª)。所以就造成äº?ji¨£n)每‹Æ¡é‡å¯é…¾|®è¢«é‡ç½®çš„æƒ…况,其实ž®±æ˜¯è®„¡½®æ— æ³•被保存。把user.js删掉以后åQŒffž®×ƒ»Žprefs.js里读取配¾|®äº†(ji¨£n)åQŒè€Œä¸”新的讄¡½®ä¹Ÿå¯ä»¥æ­£å¸æ€¿å­˜ã€?br /><br />不管是从选项菜单里修攚w…¾|®ï¼Œ˜q˜æ˜¯ä»¥ä¸Šçš„第二种æ–ÒŽ(gu¨©)³•åQŒæœ€¾lˆçš„¾l“果都是配置被保存在prefs.jsæ–‡äšg里,效果都是一æ ïL(f¨¥ng)š„ã€?br /><br />目前已知的会(x¨¬)¿Uè‡ªä¿®æ”¹FF配置的èÊY件只有Hide IP PlantiumåQŒè€Œä»¥ä¸Šæƒ…冉|­£æ˜¯åœ¨å®‰è£…Hide IP Plantium以后出现的。用的时候要注意ã€?br /><br />相关的讨论在mozillazine里有很多。不得不承认åQŒè¿™¾cȝš„英文资源要比中文的多得多。看˜q™é‡Œçš„详¾l†è®¨è®ºï¼š(x¨¬)<br /><a target="_blank" >http://forums.mozillazine.org/viewtopic.php?t=413875&postdays=0&postorder=asc&postsperpage=15&start=15</a><br /><br /><img src ="http://www.aygfsteel.com/shaofan/aggbug/59866.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/shaofan/" target="_blank">shaofan</a> 2006-07-24 18:21 <a href="http://www.aygfsteel.com/shaofan/archive/2006/07/24/59866.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>˜q‘日学习(f¨¤n)CSS的一些零¼„Žç¬”è®?/title><link>http://www.aygfsteel.com/shaofan/archive/2006/06/21/54103.html</link><dc:creator>shaofan</dc:creator><author>shaofan</author><pubDate>Tue, 20 Jun 2006 22:22:00 GMT</pubDate><guid>http://www.aygfsteel.com/shaofan/archive/2006/06/21/54103.html</guid><wfw:comment>http://www.aygfsteel.com/shaofan/comments/54103.html</wfw:comment><comments>http://www.aygfsteel.com/shaofan/archive/2006/06/21/54103.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/shaofan/comments/commentRss/54103.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/shaofan/services/trackbacks/54103.html</trackback:ping><description><![CDATA[1.理解™åµé¢‹¹?flow)åQŒç†è§£å‡ ¿Uä¸åŒçš„定位方式åQšstatic, relative, absolute½{?br />Positioning and other definitions:<a target="_blank" class="" title="" >http://css.maxdesign.com.au/floatutorial/definitions.htm</a>  <br /><br />2.HTML™åµé¢è¡¨è¾¾å†…容逻辑åQŒæŠŠæ ·å¼æŽ§åˆ¶å†™åˆ°CSSæ–‡äšgä¸?br /><br />3.‹¹®åЍ(float)çš„DIV要配合width属性来ç”?br /><br />4.怎样控制层的位置åQšç”¨floatåQŒpaddingåQŒwidthåQŒheight˜q™äº›å±žæ€§æ¥æŽ§åˆ¶<br />Float Tutorial: <a target="_blank" class="" title="" >http://css.maxdesign.com.au/floatutorial/index.htm</a><br /><br />5.讄¡½®å¯è§çš„border或background-color来帮助排ç‰?br /><br />6.出现内层的DIV跑到外层之外的情冉|—¶åQŒå¯ä»¥åœ¨å¤–层DIVçš?lt;/DIV>前加上一个clearå±‚æ¥è§£å†³é—®é¢˜ã€‚å°±æ˜¯è¿™æ øP¼š(x¨¬)<br />   <div class="container"><br />    ...<br />    ...<br />    <div class="clear"></div><br />  </div><br /><br />  css:<br />  .clear{<br />    clear:both;<br />  }<br /><br />7.样式表的选择½W?Selector)åQ?br />   Type/Class/ID½{?br />  Selector Tutorial:<a target="_blank" class="" title="" >http://css.maxdesign.com.au/selectutorial/index.htm</a><br /><br />8.关于表单的样式设计:(x¨¬)<br />让我们更好的设计表单:‹¹…è®®Web的表单设è®?<a target="_blank" class="" title="" >http://tech.163.com/06/0529/04/2I8UPHTB0009158Q.html</a><br />用CSS制作å…ähœ‰äº²å’ŒåŠ›çš„è¡¨å• 作者:(x¨¬)greengnn <br /><a target="_blank" class="" title="" >http://www.jluvip.com/blog/article.asp?id=192</a><br /><br />9.各种‹¹è§ˆå™¨å¯¹å„种标签用不同的方式渲染åQŒå¦‚p, h1, ul½{‰ï¼Œå®ƒä»¬ä¼?x¨¬)有不同的paddingå’ŒmarginåQŒäØ“(f¨´)äº?ji¨£n)在各种‹¹è§ˆå™¨ä¸‹éƒ½æ­£å¸¸çš„æ˜„¡¤ºåQŒå¯ä»¥æŠŠå®ƒä»¬æ¸…é›¶åQŒå¦‚åQ?br />*{<br />    padding:0;<br />    margin:0;<br />}<br /><br />10.使用list来显½Cºæ•°æ®æˆ–菜单<br />List Tutorial:<br /><a target="_blank" class="" title="" >http://css.maxdesign.com.au/listamatic/</a><br /><a target="_blank" class="" title="" >http://css.maxdesign.com.au/listamatic2/</a><br /><a target="_blank" class="" title="" >http://css.maxdesign.com.au/listutorial/</a><br /><br />11.关于各种标准åQŒå¸ƒå±€åQŒæŠ€å·§ç­‰çš„网站:(x¨¬)<br />¾|‘页设计师:(x¨¬)<a target="_blank" class="" title="" >http://www.w3cn.org/</a><br />CSS教程åQ?a target="_blank" class="" title="" >http://www.netvtm.com/w3s/css/</a><br />¾|‘页制作指导 - 致力于网™åµåˆ¶ä½œçŸ¥è¯†çš„æ™®åŠ(qi¨¢ng)åQ?a target="_blank" class="" title="" >http://www.jianzhan8.cn/</a><br />当然˜q˜æœ‰å¿…不可少的经典论坛blueideaåQ?a >http://www.blueidea.com/bbs/list.asp?GroupName=%CD%F8%D2%B3%B1%EA%D7%BC%BB%AF%D7%A8%C0%B8</a><img src ="http://www.aygfsteel.com/shaofan/aggbug/54103.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/shaofan/" target="_blank">shaofan</a> 2006-06-21 06:22 <a href="http://www.aygfsteel.com/shaofan/archive/2006/06/21/54103.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>休息两周åQ?/title><link>http://www.aygfsteel.com/shaofan/archive/2006/03/20/36223.html</link><dc:creator>shaofan</dc:creator><author>shaofan</author><pubDate>Mon, 20 Mar 2006 02:30:00 GMT</pubDate><guid>http://www.aygfsteel.com/shaofan/archive/2006/03/20/36223.html</guid><wfw:comment>http://www.aygfsteel.com/shaofan/comments/36223.html</wfw:comment><comments>http://www.aygfsteel.com/shaofan/archive/2006/03/20/36223.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/shaofan/comments/commentRss/36223.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/shaofan/services/trackbacks/36223.html</trackback:ping><description><![CDATA[两周休假åQŒä¸æ›´æ–°å’¯ï¼ä¼‘息一下!<img src ="http://www.aygfsteel.com/shaofan/aggbug/36223.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/shaofan/" target="_blank">shaofan</a> 2006-03-20 10:30 <a href="http://www.aygfsteel.com/shaofan/archive/2006/03/20/36223.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>易用的界面,½Ž€å•的一æ­?/title><link>http://www.aygfsteel.com/shaofan/archive/2006/03/10/34588.html</link><dc:creator>shaofan</dc:creator><author>shaofan</author><pubDate>Thu, 09 Mar 2006 22:39:00 GMT</pubDate><guid>http://www.aygfsteel.com/shaofan/archive/2006/03/10/34588.html</guid><wfw:comment>http://www.aygfsteel.com/shaofan/comments/34588.html</wfw:comment><comments>http://www.aygfsteel.com/shaofan/archive/2006/03/10/34588.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.aygfsteel.com/shaofan/comments/commentRss/34588.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/shaofan/services/trackbacks/34588.html</trackback:ping><description><![CDATA[<p><font size="2">本文译自</font><a ><font size="2">Joel on Software</font></a><font size="2">åQŒåŒæ—¶å‘表在å…?/font><a ><font size="2">wiki</font></a><font size="2">上。关于作者本人,è¯ïL(f¨¥ng)œ‹<a >˜q™é‡Œ</a>。由于Joel对于他äh对其作品的è{载有较严限制åQŒè{载及(qi¨¢ng)引用者请参阅其声明:(x¨¬)</font><a ><font size="2">Linking, Quotation, and Reprinting</font></a><font size="2">。这是我¾˜»è¯‘的第一½‹‡æ–‡ç« ï¼Œæœ‰äº›åœ°æ–¹æˆ‘也不是很肯定,请多多指正!</font><br><br>(½W¬ä¸€½E? </p> <div style="float: left;"><img style="width: 357px; height: 157px;" src="http://www.joelonsoftware.com/i/head.jpg"></div> <div style="clear: none;"> <p><br>在飞机控制的设计中,¾pŸç³•的可用性会(x¨¬)致ä‹É飞机发生CFITåQ?a >可控飞行撞地</a>ã€?</p> <p>可能可用性在你的产品中不是那么关键。如果幸˜qçš„话,你在可用性设计中的错误可能只ä¼?x¨¬)ä‹É人失åŽÕd››è‚¢ï¼Œæˆ–甚臛_ªæ˜¯æ‹‡æŒ‡ã€‚没什么更¾pŸçš„äº?ji¨£n)ã€?</p> <p>事实上,如果极端òq¸è¿åQŒé‚£ä¹ˆç³Ÿ¾p•的可用性设计除äº?ji¨£n)ä¼?x¨¬)使äh隑֏—åQŒæ²¡æœ‰å…¶ä»–后果。用戯‚¯•着åŽÕdšä¸€äº›äº‹æƒ…,或者失败,或者挣扎着åŽÈ”¨åQŒå¾ˆç›´æŽ¥çš„后果就是他们会(x¨¬)为此感到不æ?zh¨¨n)¦ã€‚在ž®†æ¥çš„æ–‡ç« é‡ŒåQŒæˆ‘ä¼?x¨¬)讲讲此事在心(j¨©)理上的原因åQŒä½†çŽ°åœ¨åQŒè¿™æ ¯‚¯´ž®Þpƒö够了(ji¨£n)åQšä‹É用户不æ?zh¨¨n)¦çš„åŽŸå› ï¼Œå¾ˆå¯èƒ½åÆˆéžå®Œå…¨å¦‚ä½ æ‰€æƒŸë€?</p> <p>可用性,¼‹®å®žæ˜¯ä¸€ä¸ªâ€œå¥½â€è®¾è®¡çš„æ ¸å¿ƒ(j¨©)。在ž®†æ¥åQŒæˆ‘ä¼?x¨¬)花很多旉™—´æ¥è®²˜q°è¿™ä¸ªé—®é¢˜ã€?</p> <p>好消息是åQšæˆ‘å¯ä»¥å¾ˆè½»æ‘Öœ°æ•™ä½ å…³äºŽå¯ç”¨æ€§è®¾è®¡çš„话题。让我们开始吧åQ?</p> <p><i>当一件东西能够以被期待的方式˜qè¡ŒåQŒé‚£å®ƒå°±æ˜¯æ˜“用的ã€?/i> </p> <p>ž®±æ˜¯˜q™æ ·åQè¿™ž®±æ˜¯å…³äºŽå¯ç”¨æ€§çš„一切!像Hillel所è¯ß_(d¨¢)¼Œå…¶å®ƒçš„一切都是解说词ã€?</p> <p>让我们来看一个简单的例子ã€?</p> <p><br></p> <p><b>哪个更好用:(x¨¬)Windows˜q˜æ˜¯Mac?</b> </p> <p><br></p> <p>åœ¨äØ“(f¨´)äºÞZ»¬è®¾è®¡äº§å“æ—Óž¼Œæœ‰ä¸€ä¸ªå‡æƒ³ç”¨æˆäh˜¯å¾ˆæœ‰å¸®åŠ©çš„ã€‚æ‰€è®¾æƒ³çš„ç”¨æˆ¯‚¶Šæ˜¯å®žé™…,提供的帮助越大ã€?</p> <p>我的假想用户ž®±æ˜¯å½¼ç‰¹ã€?</p> <p>有一天,彼特的朋友,吉娜叫他来帮忙。吉娜有一台Macintoshçš„iBookåQŒå› ä¸ºå¥¹å–œæ¬¢ç™½è‰²çš„电(sh¨´)脑。当彼特坐下开始试着用吉娜的Macintoshæ—Óž¼Œä»–很快就感到有点沮ä“áäº?ji¨£n)。“我讨厌˜q™äº›ä¸œè¥¿åQŒâ€ä»–说。虽然最后成功地帮吉娜解决了(ji¨£n)问题åQŒä»–却觉得高兴不èµäh¥ã€‚“Macintosh的用æˆïL(f¨¥ng)•Œé¢çœŸæ˜¯ç¬¨æ‹™è‡³æžã€‚â€?</p> <p>½W¨æ‹™åQŸäØ“(f¨´)什么会(x¨¬)˜q™æ ·è¯´å‘¢åQŸæ¯ä¸ªäh都知道,Macintosh有着优雅易用的用æˆïL(f¨¥ng)•Œé¢ï¼Œå¯¹ä¸å¯¹ï¼ŸéšùN“它不是那¿Uæ˜“用性的范例吗? </p> <p>好吧。让我们来看看ã€?</p> <p>在Macintosh上,如果你想改变½H—口的大ž®ï¼Œä½ å¿…™åÀL‹–它的右下角。而在Windows上,在ä“Q何一个边上拖动鼠标,都可以改变窗口大ž®ã€‚当彼特帮吉娜时åQŒä»–试着拖右侧的è¾ÒŽ(gu¨©)¥è®©çª—口变宽。结果,整个½H—口都跟着动了(ji¨£n)åQŒè€Œä¸æ˜¯ä»–惌™¦çš„“改变大ž®â€ã€?</p> <p>在Windows上,当出çŽîC¸€ä¸ªæ¶ˆæ¯æ¡†æ—Óž¼Œä½ åªè¦æŒ‰tab键移动焦点到所需的按钮上åQŒç„¶åŽæŒ‰ä¸€ä¸‹ç©ºæ ¼é”®ž®±å¯ä»¥æŒ‰åˆ°é‚£ä¸ªæŒ‰é’®ã€‚但在Mac上,½Iºæ ¼é”®ä¸èµ·é‚£æ ïL(f¨¥ng)š„作用。当彼特得到一个警告,他就试着像他˜q‡åŽ»å…­å¹´é‡Œä¸‹æ„è¯†çš„åšçš„é‚£æ øP¼ŒæŒ‰ç©ºæ ¼é”®æ¥å…³æŽ‰æ¶ˆæ¯æ¡†ã€‚第一‹Æ¡ï¼Œæœºå™¨æ²¡æœ‰ä»ÖM½•反应åQŒä»–以䨓(f¨´)是键盘有问题åQŒäºŽæ˜¯æ›´å¤§åŠ›åœ°åˆæŒ‰äº†(ji¨£n)一‹Æ¡ã€‚结果还是一栗÷€‚最后他只能用鼠标了(ji¨£n)。这是另一个小ž®çš„æŒ«æŠ˜ã€?</p> <p>彼特˜q˜ä¹ (f¨¤n)惯用Alt+F4来关闭窗口。在Mac上,˜q™æ°æ°æ˜¯ç”¨æ¥è°ƒæ•´å£°éŸ³éŸ³é‡çš„。这‹Æ¡ï¼Œå½¼ç‰¹æƒ³ç‚¹å‡?y¨¢n)L¡Œé¢ä¸Šçš„IE图标åQŒè€Œè¿™ä¸ªå›¾æ ‡åˆšå¥½è¢«å¦ä¸€ä¸ªçª—口遮住了(ji¨£n)一部䆾。于是他按Alt+F4关闭½H—口的同时立卛_Œå‡Õd›¾æ ‡æ‰€åœ¨çš„位置。结果是声音音量变大äº?ji¨£n)ï¼Œè€Œçª—å£åÆˆæœªè¢«å…ÏxŽ‰ã€‚è€Œä»–çš„åŒå‡È‚¹åœ¨äº†(ji¨£n)他想å…ÏxŽ‰çš„é‚£ä¸ªçª—å£çš„å¸®åŠ©æŒ‰é’®ä¸Šï¼ŒæŠŠå¸®åŠ©çª—å£æ‰“å¼€äº?ji¨£n)。好äº?ji¨£n),他现在需要关闭两个窗口了(ji¨£n)ã€?</p> <p>˜q™ä¹Ÿæ˜¯ä¸€ä¸ªå°ž®çš„æŒ«æŠ˜å§ï¼Œä½†æ˜¯åQŒè¿™¼‹®å®žè®©å½¼ç‰ÒŽ(gu¨©)›´åŠ éƒé—·äº†(ji¨£n)。这天结束的时候,彼特的脾气很不好。他试着控制那些东西åQŒå´éƒ½æ²¡æœ‰ååº”。空格键和Alt+F4都“不起作用â€?---ž®±åƒå®ƒä»¬åäº†(ji¨£n)一栗÷€‚窗口也不听话,˜qžè°ƒæ•´å¤§ž®éƒ½ä¸è¡Œã€‚真差劲。就½Ž—这些想法都是下意识的,˜q™äº›â€œå¤±åŽÀLŽ§åˆ¶â€çš„¾l†å¾®æ„Ÿå—也最¾lˆä‹É他感åˆîC¸å¿«ã€‚“我˜q˜æ˜¯å–œæ¬¢æˆ‘自å·Þqš„ç”?sh¨´)脑”,彼特惻I¼Œâ€œå®ƒè¢«æˆ‘讄¡½®çš„完¾ŸŽæ— ¾~ºï¼Œæ€»èƒ½æŒ‰ç…§æˆ‘想的方式去˜qè¡Œã€‚而这些Mac真是隄¡”¨ã€‚真是让äºÞZ¸çˆ½ã€‚如果Apple˜q™äº›òq´å¤šèŠ×ƒº›å¿?j¨©)思在MacOS上,而不是搞iPod那些那些玩意åQŒä»–们的操作¾pȝ»Ÿä¹Ÿä¸ä¼?x¨¬)这么糟¾p•了(ji¨£n)。â€?</p> <p>好了(ji¨£n)。我们比彼特清楚。他虽然有这些种¿Uæ„Ÿå—,但事实上对Mac用户来说åQŒMac¼‹®å®žå¾ˆå¥½ç”¨ã€‚完全可以用ä»ÀL„é”®æ¥å…³é—­½H—口。微软的½E‹åºå‘˜å¾ˆå¯èƒ½è§‰å¾—åQŒè®©ç”¨æˆ·æ‹–动ä»ÀL„è¾šwƒ½å¯ä»¥è°ƒæ•´½H—口大小的功能真的很不错。而Apple½E‹åºå‘˜å¾ˆå¯èƒ½è®¤äØ“(f¨´)åQŒæ‹–动ä“Q意边来移动窗口位¾|®çš„功能很有创意ã€?</p> <p>那些盲目信äԒ某种OS的网站上的关于用æˆïL(f¨¥ng)•Œé¢çš„争论åQŒéƒ½æ²¡æœ‰è¯´åˆ°ç‚¹å­ä¸Šã€‚Windows更好åQŒæ˜¯å› äØ“(f¨´)¾l™ä½ æ›´å¤šæ‰‹æ®µæ¥è°ƒæ•´çª—口大ž®ã€‚那又怎样åQŸè¿™òq¶ä¸æ˜¯é—®é¢˜æ‰€åœ¨ã€‚真正的问题是,UI是否以用户预期的方式来响应他们的操作。如果不是,那么用户ž®×ƒ¼š(x¨¬)觉得他们无法控制它,òq¶è§‰å¾—自å·×ƒ¼š(x¨¬)难以达成目的。就是这样了(ji¨£n)。当一件东西能够以被期待的方式˜qè¡ŒåQŒé‚£å®ƒå°±æ˜¯æ˜“用的。你可以把这句话反着¾U¹åœ¨ä½ çš„额头上,˜q™æ ·ä½ åœ¨é•œå­é‡Œå°±å¯ä»¥çœ‹åˆ°å®ƒã€?</p> <p>如果你ç‘ô¾l­å…³æ³¨å°†æ¥çš„æ–‡ç« åQŒé‚£ä¹ˆä½ ä¼?x¨¬)发玎ͼŒæˆ‘所告诉你的关于可用性设计的一切,都可以追溯到˜q™ä¸ª½Ž€å•的法则。如果哪天外星äh在你的花园里着陆,把你扔到äº?ji¨£n)名叫Kij8zxwrk的星球,在那里你无法˜qžæŽ¥åˆ°åœ°çƒçš„互联¾|‘ï¼Œå› äØ“(f¨´)数据包传送到地球所花时间太长导致TCP/IP无法正常工作åQŒé‚£ä¹ˆä½ æ‰€çŸ¥é“的东西也­‘³ä»¥è®©ä½ æ‰‘Öˆ°ä¸€ä»½ç›¸å½“体面的可用性设计师的工作了(ji¨£n)ã€?</p></div><img src ="http://www.aygfsteel.com/shaofan/aggbug/34588.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/shaofan/" target="_blank">shaofan</a> 2006-03-10 06:39 <a href="http://www.aygfsteel.com/shaofan/archive/2006/03/10/34588.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> Ö÷Õ¾Ö©Öë³ØÄ£°å£º <a href="http://" target="_blank">½ð´¨ÏØ</a>| <a href="http://" target="_blank">¿µÆ½ÏØ</a>| <a href="http://" target="_blank">³É¶¼ÊÐ</a>| <a href="http://" target="_blank">Ôª½­</a>| <a href="http://" target="_blank">°²ÐÂÏØ</a>| <a href="http://" target="_blank">ÓÀµÂÏØ</a>| <a href="http://" target="_blank">Öî³ÇÊÐ</a>| <a href="http://" target="_blank">°¢ºÏÆæÏØ</a>| <a href="http://" target="_blank">´ó¶É¿ÚÇø</a>| <a href="http://" target="_blank">ͨÖÝÊÐ</a>| <a href="http://" target="_blank">ÀíÌÁÏØ</a>| <a href="http://" target="_blank">½ðËþÏØ</a>| <a href="http://" target="_blank">ǨÎ÷ÏØ</a>| <a href="http://" target="_blank">Äþ²¨ÊÐ</a>| <a href="http://" target="_blank">ÖñÏªÏØ</a>| <a href="http://" target="_blank">ÄáÂêÏØ</a>| <a href="http://" target="_blank">°²ÄþÊÐ</a>| <a href="http://" target="_blank">ËàÄÏ</a>| <a href="http://" target="_blank">ãþÔ´ÏØ</a>| <a href="http://" target="_blank">˳ÒåÇø</a>| <a href="http://" target="_blank">ÏãºÓÏØ</a>| <a href="http://" target="_blank">ƽ¶¨ÏØ</a>| <a href="http://" target="_blank">ÀÖÍ¤ÏØ</a>| <a href="http://" target="_blank">ÂêÄÉË¹ÏØ</a>| <a href="http://" target="_blank">ƽÀûÏØ</a>| <a href="http://" target="_blank">â¿µÏØ</a>| <a href="http://" target="_blank">¾©É½ÏØ</a>| <a href="http://" target="_blank">ÌÀÒõÏØ</a>| <a href="http://" target="_blank">ÌúÁëÏØ</a>| <a href="http://" target="_blank">¸ßÐÛÊÐ</a>| <a href="http://" target="_blank">˼ÄÏÏØ</a>| <a href="http://" target="_blank">ÈÄÆ½ÏØ</a>| <a href="http://" target="_blank">Äþ¹úÊÐ</a>| <a href="http://" target="_blank">Èø¸ÂÏØ</a>| <a href="http://" target="_blank">Áú¾®ÊÐ</a>| <a href="http://" target="_blank">Ôý´ïÏØ</a>| <a href="http://" target="_blank">±¨¼Û</a>| <a href="http://" target="_blank">·ï³ÇÊÐ</a>| <a href="http://" target="_blank">ÑôÎ÷ÏØ</a>| <a href="http://" target="_blank">ÏĺÓÏØ</a>| <a href="http://" 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>