<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='http://wudicgi.spaces.live.com/mmm2008-07-24_12.50/rsspretty.aspx?rssquery=en-US;http%3a%2f%2fwudicgi.spaces.live.com%2fcategory%2fJavaScript%2ffeed.rss' version='1.0'?><rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:msn="http://schemas.microsoft.com/msn/spaces/2005/rss" xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Wudi's Blog: JavaScript</title><description /><link>http://wudicgi.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&amp;_c=BlogPart&amp;partqs=catJavaScript</link><language>en-US</language><pubDate>Thu, 06 Nov 2008 05:26:01 GMT</pubDate><lastBuildDate>Thu, 06 Nov 2008 05:26:01 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><cf:parentRSS>http://wudicgi.spaces.live.com/blog/feed.rss</cf:parentRSS><live:type>blogcategory</live:type><live:identity><live:id>-7069490911547799830</live:id><live:alias>wudicgi</live:alias></live:identity><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="typelabel" label="Type" /><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="tag" label="Tag" /><cf:group element="category" label="Category" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /><cf:sort ns="http://purl.org/rss/1.0/modules/slash/" element="comments" label="Comments" data-type="number" /></cf:listinfo><item><title>解决 XMLHTTP 的缓存问题</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!251.entry</link><description>&lt;p&gt;由于 Files 上应用程序的代码越来越多，我今天把应用程序的代码单提了出去，每个程序一个文件，第一次使用前加载。但 Files 现在还处于开发阶段，调试时代码经常变动。而 IE 中 XMLHTTP 默认会将内容缓存，GET 方式下只要 URL 没有变化，就会直接使用缓存，不发送任何请求。
&lt;p&gt;经过搜索，最后在&lt;a href="http://en.wikipedia.org/wiki/XMLHTTP" rel=nofollow&gt;英文维基&lt;/a&gt;上发现了一个很好的解决方法：在调用 send 方法前设置 If-Modified-Since 头为一个比较早的日期。如使用
&lt;p&gt;req.setRequestHeader(&amp;quot;If-Modified-Since&amp;quot;, &amp;quot;Sat, 1 Jan 2000 00:00:00 GMT&amp;quot;);&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e8%a7%a3%e5%86%b3+XMLHTTP+%e7%9a%84%e7%bc%93%e5%ad%98%e9%97%ae%e9%a2%98&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!251.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!251.entry</guid><pubDate>Mon, 13 Feb 2006 18:51:41 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!251/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!251.entry#comment</wfw:comment><dcterms:modified>2006-02-13T18:52:47Z</dcterms:modified></item><item><title>为 Mozilla/Firefox 增加 children 集合</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!250.entry</link><description>&lt;div&gt;以下代码使用 Mozilla/Firefox 独有的方法，增加 children 集合（仅处理对象和长度属性，未处理 item, tags, urns 方法，但已能满足基本使用需求）：&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;HTMLElement&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;.&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;prototype&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;.&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;__defineGetter__&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;children&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;,&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;    &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;function&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;()&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;{&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;        &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;var&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;returnValue&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; = &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;new&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;Object&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;()&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;        &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;var&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;number&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; = &lt;/span&gt;&lt;span style="color:#ff0000;font-family:Fixedsys"&gt;0&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;        &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;for&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;var&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;i&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;=&lt;/span&gt;&lt;span style="color:#ff0000;font-family:Fixedsys"&gt;0&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;i&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;this&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;.&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;childNodes&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;.&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;length&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;i&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;++&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;)&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;{&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;            &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;if&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;this&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;.&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;childNodes&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;[&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;i&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;]&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;.&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;nodeType&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; == &lt;/span&gt;&lt;span style="color:#ff0000;font-family:Fixedsys"&gt;1&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;)&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;{&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;                &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;returnValue&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;[&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;number&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;]&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; = &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;this&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;.&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;childNodes&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;[&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;i&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;]&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;                &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;number&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;++;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;            &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;}&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;        &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;}&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;        &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;returnValue&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;.&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;length&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; = &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;number&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;        &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;return&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;returnValue&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;    &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;}&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;)&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;&lt;/ol&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e4%b8%ba+Mozilla%2fFirefox+%e5%a2%9e%e5%8a%a0+children+%e9%9b%86%e5%90%88&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!250.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!250.entry</guid><pubDate>Sat, 11 Feb 2006 11:25:24 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!250/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!250.entry#comment</wfw:comment><dcterms:modified>2006-02-11T11:25:24Z</dcterms:modified></item></channel></rss>