﻿<?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-emu in blogjava</title><link>http://www.blogjava.net/emu/</link><description /><language>zh-cn</language><lastBuildDate>Fri, 08 Aug 2008 21:07:48 GMT</lastBuildDate><pubDate>Fri, 08 Aug 2008 21:07:48 GMT</pubDate><ttl>60</ttl><item><title>分域名优化的时候要考虑备选IP的问题</title><link>http://www.blogjava.net/emu/archive/2008/05/23/202357.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Fri, 23 May 2008 03:36:00 GMT</pubDate><guid>http://www.blogjava.net/emu/archive/2008/05/23/202357.html</guid><wfw:comment>http://www.blogjava.net/emu/comments/202357.html</wfw:comment><comments>http://www.blogjava.net/emu/archive/2008/05/23/202357.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/emu/comments/commentRss/202357.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/emu/services/trackbacks/202357.html</trackback:ping><description><![CDATA[我们在需要下载很多内容的时候，很容易想到做分域名的并发下载，给原来的服务器多分几个域名，因为分不同的域名可能可以在浏览器中分到更多的下载进程，提高下载速度。<br />
但是在做网络应用的时候，我们的一个域名下面有的时候会有多个ip多台服务器，分布在不同的机房，这个时候浏览器会在可选的ip里面随机的选择一个ip。用nslookup可以看到可选的ip，用ping可以看到当前正在实用的ip。<br />
在多个ip的情况下，对具体的一个用户，往往是连接到某些ip特别快，而连接到某些ip就不怎么块。比如我现在有一个域名（和它的几个分域名），在深圳访问的时候有2个ip可以分，其中一个是深圳本地的服务器，一个是外地的服务器。这个时候如果页面打开需要用到的关键资源依赖于这个域名，那么分域名有可能对速度不是提高而是有反作用。<br />
因为这种情况下，慢的资源成为了瓶颈，变成是速度的决定因素。我本来有一半的机会是快的，一半的机会是慢的，如果现在分两个域名去下载关键资源，变成有1/4的机会是两个域名都分到深圳的服务器，可以有提高，而3/4的机会是有一个以上的域名分到外地的服务器，反而变慢了，这样提高的是少部分人的感受，而多数人的感受没有提升或者变的更差。如果简单的按照yahoo的优化建议分散到4个域名上，那么这个比例就变成1：15，更差了。<br />
因此分域名下载不能简单的绝对化的看待，要看实际应用场景做决定。
<img src ="http://www.blogjava.net/emu/aggbug/202357.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/emu/" target="_blank">emu</a> 2008-05-23 11:36 <a href="http://www.blogjava.net/emu/archive/2008/05/23/202357.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>apache返回Request header field is missing ':' separator</title><link>http://www.blogjava.net/emu/archive/2008/05/09/199542.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Fri, 09 May 2008 08:30:00 GMT</pubDate><guid>http://www.blogjava.net/emu/archive/2008/05/09/199542.html</guid><wfw:comment>http://www.blogjava.net/emu/comments/199542.html</wfw:comment><comments>http://www.blogjava.net/emu/archive/2008/05/09/199542.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/emu/comments/commentRss/199542.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/emu/services/trackbacks/199542.html</trackback:ping><description><![CDATA[一段时间没有用这个apache，突然之间发现apache不返回东西了，抓包发现不管发什么请求，这个apache总是返回：<br />
Request header field is missing ':' separator<br />
重启apache，关掉重开，卸掉重装，折腾半天后还是选择google了，原来早有人郁闷过这个问题：<a href="http://www.apachelounge.com/forum/viewtopic.php?t=602">http://www.apachelounge.com/forum/viewtopic.php?t=602</a><br />
<br />
<span class="postbody">Just spent half of night googling. <br />
<br />
The main reason that I switched to 2.2.x branch is mod_proxy errors like <br />
"Request header field is missing ':' separator." when accessing sites localhost sites. <br />
Somewhere I read that it might be fixed in 2.2, so that's why I'm here. <br />
<br />
After 3 weeks building all neccessary modules putting and tuning all together I see the same error =/ <br />
<br />
Problem was in Nod32's IMON module. It for some reason duplicates request. I disabled it and all works fine again. <br />
<a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34716" target="_blank">http://issues.apache.org/bugzilla/show_bug.cgi?id=34716</a> <br />
<br />
Posting it here to help other with issues like this.</span><br />
<br />
一模一样的现象，一模一样的原因。把nod32的imon（也就是网络监控）禁用了就好了。
<img src ="http://www.blogjava.net/emu/aggbug/199542.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/emu/" target="_blank">emu</a> 2008-05-09 16:30 <a href="http://www.blogjava.net/emu/archive/2008/05/09/199542.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>facebook全面开放了web IM</title><link>http://www.blogjava.net/emu/archive/2008/04/24/195477.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Thu, 24 Apr 2008 03:23:00 GMT</pubDate><guid>http://www.blogjava.net/emu/archive/2008/04/24/195477.html</guid><wfw:comment>http://www.blogjava.net/emu/comments/195477.html</wfw:comment><comments>http://www.blogjava.net/emu/archive/2008/04/24/195477.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/emu/comments/commentRss/195477.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/emu/services/trackbacks/195477.html</trackback:ping><description><![CDATA[悄悄在几个network内试用了一段时间后，今天终于全员开放了。web IM最大的问题是不能P2P的传递消息，什么都要走服务器，一来一回比起直接点对点发送显然成本要高的多，尤其我们亚洲用户的数据都要走到米国的服务器上再走回来（我被连接到了69.63.176.174这台米国服务器）。facebook用了推模式尽量保证了消息的即时性，同时维持那么多http连接看来也是不小的技术挑战，不过目前看来表现还不错。<br />
Facebook建议大家用IE7或者Firefox来试用聊天功能。在IE6下面会弹开一个新页面来聊天。在Firefox下面没有使用传说中的COMET技术，还是每次推消息后断开连接重新请求。
<img src ="http://www.blogjava.net/emu/aggbug/195477.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/emu/" target="_blank">emu</a> 2008-04-24 11:23 <a href="http://www.blogjava.net/emu/archive/2008/04/24/195477.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>百度不知道百度知道</title><link>http://www.blogjava.net/emu/archive/2008/04/23/194963.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Wed, 23 Apr 2008 02:38:00 GMT</pubDate><guid>http://www.blogjava.net/emu/archive/2008/04/23/194963.html</guid><wfw:comment>http://www.blogjava.net/emu/comments/194963.html</wfw:comment><comments>http://www.blogjava.net/emu/archive/2008/04/23/194963.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/emu/comments/commentRss/194963.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/emu/services/trackbacks/194963.html</trackback:ping><description><![CDATA[<p>有朋友在问卡巴斯基报告一个&#8220;Trojan-Clicker.HTML.Agent.ad&#8221;的事情，说是百度搜不到，我google了一把：<br />
<br />
<img height="339" alt="" src="http://www.blogjava.net/images/blogjava_net/emu/google.gif" width="673" border="0" /><br />
嗯，google上有100多个搜索结果，而百度呢？</p>
<p>&nbsp;</p>
<p><img height="1" alt="" src="http://www.blogjava.net/images/blogjava_net/emu/google.gif" width="2" border="0" /></p>
<p><br />
<img height="205" alt="" src="http://www.blogjava.net/images/blogjava_net/emu/baidu.gif" width="614" border="0" /><br />
<br />
交白卷了。谁说搜中文内容百度更专业来着。更好笑的是在google的搜索结果的第二个就是百度知道上面的问题，试了下在百度知道里面搜：<br />
<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/emu/zhidao.gif" border="0" /><br />
<br />
百度知道里面有两个结果而百度居然不知道百度其实知道？其实问题<span style="color: red">在于百度的网页搜索引擎无法理解&#8220;Trojan-Clicker&#8221;中的这个横杠是个连接符而不是排除搜索内容的意思</span>，把这个横杠去掉以后，百度还是可以搜出来6个结果的。<br />
<br />
<img height="106" alt="" src="http://www.blogjava.net/images/blogjava_net/emu/baidu2.gif" width="823" border="0" /><br />
<br />
<br />
百度号称更懂中文，以前的理解是百度比其他搜索引擎更懂中文，现在才明白过来，百度更懂中文是相对于百度懂英文的程度来说的。</p>
<br />
奇怪的是百度知道的搜索居然没有这个问题，难道用的是不同的搜索引擎？ <img src ="http://www.blogjava.net/emu/aggbug/194963.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/emu/" target="_blank">emu</a> 2008-04-23 10:38 <a href="http://www.blogjava.net/emu/archive/2008/04/23/194963.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用shindig搭Opensocial容器</title><link>http://www.blogjava.net/emu/archive/2008/03/26/188812.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Wed, 26 Mar 2008 09:41:00 GMT</pubDate><guid>http://www.blogjava.net/emu/archive/2008/03/26/188812.html</guid><wfw:comment>http://www.blogjava.net/emu/comments/188812.html</wfw:comment><comments>http://www.blogjava.net/emu/archive/2008/03/26/188812.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/emu/comments/commentRss/188812.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/emu/services/trackbacks/188812.html</trackback:ping><description><![CDATA[<p>&nbsp;<br />
shindig是google的一个opensocial容器的参考实现。google高调发布opensocial以后大家纷纷在宣布支持opensocial，可是真正要找个支持opensocial的容器一点也不容易，orkut的sandbox限制很多，myspace中国也只支持flash的方式，真正要玩opensocial，还是自己搭一个环境算了。</p>
<p>shindig现在还不能简单的安装运行（http://incubator.apache.org/shindig/#tab-download），要做一些手工活：<br />
按照 http://incubator.apache.org/shindig/#tab-building 的指引，</p>
<ol>
    <li>下载安装JDK，设置好JAVA_HOME和PATH环境变量
    <li>下载安装subversion客户端（我用了TortoiseSVN）
    <li>下载解压Maven（在windows上用，我用了zip版本），一个类似ant的东东，用于编译shindig。设置好M2_HOME（指向Maven的解压目录），M2（指向bin子目录）和PATH环境变量（加进bin子目录的路径）。
    <li>新建shindig目录，用TortoiseSVN update下来shindig工程（http://svn.apache.org/repos/asf/incubator/shindig/trunk）<br />
    在shindig/java/gadgets目录下面运行mvn package编译。由于依赖的jar都要从网上下载，等了漫长的一个多小时，最后在shindig\java\gadgets\target目录下得到一个gadgets.war，大约2M左右大小。 </li>
</ol>
<p>拿到war就好办了，随便找一个web容器给它运行。首选的当然是开源、绿色、轻巧可爱的tomcat了。下载下来解压，运行startup.bat，就跑起来了。访问http://localhost:8080/看到欢迎页面，从Administration--&gt;Tomcat Manager进入。衰，要登陆。在tomcat/conf下面找到tomcat-users.xml，加两行<br />
&nbsp; &lt;role rolename="manager"/&gt;<br />
&nbsp; &lt;user username="tomcat" password="tomcat" roles="manager"/&gt;<br />
重启tomcat，用tomcat/tomcat进入Administration--&gt;Tomcat Manager<br />
找到 WAR file to deploy--&gt;Select WAR file to upload ，选中刚才编译好的gadgets.war上传。后在Applications列表中看到/gadgets就好了。</p>
<p>http://localhost:8080/gadgets下面没有默认页面，只能直接访问 samplecontainer 页面 http://localhost:8080/gadgets/files/samplecontainer/samplecontainer.html</p>
<p>&nbsp;</p>
<p><br />
<br />
<br />
<img height="519" alt="" src="http://www.blogjava.net/images/blogjava_net/emu/sampleContainer.gif" width="992" border="0" /></p>
第一个输入框是gadget的xml地址，也就是所谓的OpensocialAPP了。第二个输入框指向的xml里面描述了一些模拟的用户信息，主要提供了people、personAppData、activities这些基本的APP信息。<br />
<br />
下面蓝色框是一个iframe，里面就是这个APP的展示区域了。<br />
<br />
看来google现在还想让大家用iframe来作web application，失望一下。要是第三方可以像igoogle里面的gmail模块一样直接inline嵌入到页面中间就好了。iframe还是很多问题的，速度问题，页面负担，还有<a href="http://www.blogjava.net/emu/archive/2007/07/06/128666.html">浏览器bug</a>。 
<img src ="http://www.blogjava.net/emu/aggbug/188812.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/emu/" target="_blank">emu</a> 2008-03-26 17:41 <a href="http://www.blogjava.net/emu/archive/2008/03/26/188812.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>为IE找个新死法</title><link>http://www.blogjava.net/emu/archive/2008/02/01/178847.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Fri, 01 Feb 2008 07:43:00 GMT</pubDate><guid>http://www.blogjava.net/emu/archive/2008/02/01/178847.html</guid><wfw:comment>http://www.blogjava.net/emu/comments/178847.html</wfw:comment><comments>http://www.blogjava.net/emu/archive/2008/02/01/178847.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/emu/comments/commentRss/178847.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/emu/services/trackbacks/178847.html</trackback:ping><description><![CDATA[IE在解释表达式的时候显然大有优化的余地，FireFox就没这个毛病。下面这段小代码可以轻松让IE崩溃掉：<br />
<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"><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;n</span><span style="color: #000000">=</span><span style="color: #000000">32768</span><span style="color: #000000">;<br />
</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;s</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Array(n).join(</span><span style="color: #000000">"</span><span style="color: #000000">0+</span><span style="color: #000000">"</span><span style="color: #000000">)</span><span style="color: #000000">+</span><span style="color: #000000">0</span><span style="color: #000000">;<br />
</span><span style="color: #0000ff">if</span><span style="color: #000000">(confirm(</span><span style="color: #000000">"</span><span style="color: #000000">真的要杀了浏览器吗?</span><span style="color: #000000">"</span><span style="color: #000000">)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;eval(s);<br />
&nbsp;&nbsp;&nbsp;&nbsp;alert(</span><span style="color: #000000">"</span><span style="color: #000000">杀不掉,试试把n调大一点?</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
}</span></div>
<br />
其实就是让IE解析一个&#8220;0+0+0+0....&#8221;的表达式。<br />
在我的机器上，IE6跑到32255就自动关闭了（可以作为一个新的无提示关闭浏览器漏洞呵呵，会把同一个进程打开的全部窗口一起杀掉），IE7还要差些，在31515就挂了。opera也好不到哪里去，32180就崩溃了。而FireFox一直跑到2^27（ie和opera还不到2^15）的时候把我的内存全吃光了，在虚拟内存支持下还是可以执行完成：<br />
<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"><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;s</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">0+</span><span style="color: #000000">"</span><span style="color: #000000">,n</span><span style="color: #000000">=</span><span style="color: #000000">27</span><span style="color: #000000">&nbsp;;<br />
</span><span style="color: #0000ff">for</span><span style="color: #000000">(</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;i</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">;i</span><span style="color: #000000">&lt;</span><span style="color: #000000">n;i</span><span style="color: #000000">++</span><span style="color: #000000">)&nbsp;s</span><span style="color: #000000">+=</span><span style="color: #000000">s;&nbsp;<br />
alert(s.length</span><span style="color: #000000">/</span><span style="color: #000000">2</span><span style="color: #000000">)&nbsp;<br />
s</span><span style="color: #000000">+=</span><span style="color: #000000">0</span><span style="color: #000000">;&nbsp;<br />
</span><span style="color: #0000ff">if</span><span style="color: #000000">(confirm(</span><span style="color: #000000">"</span><span style="color: #000000">真的要杀了浏览器吗?</span><span style="color: #000000">"</span><span style="color: #000000">)){&nbsp;<br />
eval(s);&nbsp;<br />
alert(</span><span style="color: #000000">"</span><span style="color: #000000">杀不掉,试试把n调大一点?</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;<br />
}</span></div>
一直到2^28的时候，字符串构造失败了才罢休。<br />
<img src ="http://www.blogjava.net/emu/aggbug/178847.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/emu/" target="_blank">emu</a> 2008-02-01 15:43 <a href="http://www.blogjava.net/emu/archive/2008/02/01/178847.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在IE下面指定表单编码方式</title><link>http://www.blogjava.net/emu/archive/2008/01/31/178715.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Thu, 31 Jan 2008 09:31:00 GMT</pubDate><guid>http://www.blogjava.net/emu/archive/2008/01/31/178715.html</guid><wfw:comment>http://www.blogjava.net/emu/comments/178715.html</wfw:comment><comments>http://www.blogjava.net/emu/archive/2008/01/31/178715.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/emu/comments/commentRss/178715.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/emu/services/trackbacks/178715.html</trackback:ping><description><![CDATA[在跨业务、跨网站发送数据或者业务升级的时候，我们有的时候需要指定发送数据的编码方式，比如页面是utf-8编码的，而发送出去的数据却是GB2312编码的。在做Ajax开发的时候，我们往往都是用vbscript或者用查字典法来解决这个问题（<a href="http://www.blogjava.net/emu/articles/31756.html">http://www.blogjava.net/emu/articles/31756.html</a>）。但是有些业务，也许并不需要做成Ajax这么复杂，用表单提交显得更加自然。<br />
<br />
其实html里面form标签有个accept-charset属性，可以帮助我们解决这个问题，可惜的是傻乎乎的IE浏览器虽然认得accept-charset，却并不卖它的帐。IE的表单提交的时候使用什么编码是完全看页面的charset决定的。还好，IE在charset这个问题上一傻到底（见<a href="http://www.blogjava.net/emu/archive/2007/08/21/138247.html">http://www.blogjava.net/emu/archive/2007/08/21/138247.html</a>），糊弄它一下，它就乖乖听话了：<br />
<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"><span style="color: #0000ff">&lt;</span><span style="color: #800000">HTML</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">HEAD</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">meta&nbsp;</span><span style="color: #ff0000">http-equiv</span><span style="color: #0000ff">=content-type&nbsp;</span><span style="color: #ff0000">content</span><span style="color: #0000ff">="text/html;&nbsp;charset=UTF-8"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">SCRIPT&nbsp;</span><span style="color: #ff0000">LANGUAGE</span><span style="color: #0000ff">="JavaScript"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000; background-color: #f5f5f5"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">var</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;isIE</span><span style="color: #000000; background-color: #f5f5f5">=!!</span><span style="color: #000000; background-color: #f5f5f5">window.ActiveXObject;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">if</span><span style="color: #000000; background-color: #f5f5f5">(isIE&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">&amp;&amp;</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;document.charset</span><span style="color: #000000; background-color: #f5f5f5">!=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">utf-8</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">)location.reload(</span><span style="color: #0000ff; background-color: #f5f5f5">false</span><span style="color: #000000; background-color: #f5f5f5">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">if</span><span style="color: #000000; background-color: #f5f5f5">(location.search)&nbsp;alert(</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">&#8220;我&#8221;字编码为:</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">+</span><span style="color: #000000; background-color: #f5f5f5">location.search.substr(</span><span style="color: #000000; background-color: #f5f5f5">6</span><span style="color: #000000; background-color: #f5f5f5">))<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">SCRIPT</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">TITLE</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">encode&nbsp;before&nbsp;form&nbsp;post</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">TITLE</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">META&nbsp;</span><span style="color: #ff0000">NAME</span><span style="color: #0000ff">="Author"</span><span style="color: #ff0000">&nbsp;CONTENT</span><span style="color: #0000ff">="emu"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">HEAD</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">BODY</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">form&nbsp;</span><span style="color: #ff0000">action</span><span style="color: #0000ff">="#"</span><span style="color: #ff0000">&nbsp;accept-charset</span><span style="color: #0000ff">="GB2312"</span><span style="color: #ff0000">&nbsp;onsubmit</span><span style="color: #0000ff">="if(isIE)document.charset='GB2312'"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">input&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="test"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="我"</span><span style="color: #ff0000">&nbsp;readonly</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">input&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">=submit</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">form</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">BODY</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">HTML</span><span style="color: #0000ff">&gt;</span></div>
<br />
简单的讲，就是在表单发送前告诉IE说当前页面是GB2312编码就行了：<br />
&nbsp;&lt;form accept-charset="GB2312" onsubmit="if(isIE)document.charset='GB2312'"&gt;<br />
accept-charset="GB2312" 是写给其他没那么笨的浏览器看的。<br />
<br />
IE为了表现它确实是一傻到底，不但在设置document.charset的时候不会用新的编码解释页面，还会在前进后退（我特地用＃作为action来实现后退）的时候又尝试用新的编码去解释页面<img src="/CuteSoft_Client/CuteEditor/images/face21.gif" align="absMiddle" border="0"  alt="" />。不过还好，可以用脚本判断出来，还可以用脚本刷新一下页面解决这个问题：<br />
if(isIE &amp;&amp; document.charset!="utf-8")location.reload(false);<br />
    <img src ="http://www.blogjava.net/emu/aggbug/178715.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/emu/" target="_blank">emu</a> 2008-01-31 17:31 <a href="http://www.blogjava.net/emu/archive/2008/01/31/178715.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>试试把xml和javascript写到同一个文件里面</title><link>http://www.blogjava.net/emu/archive/2008/01/18/176342.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Fri, 18 Jan 2008 14:07:00 GMT</pubDate><guid>http://www.blogjava.net/emu/archive/2008/01/18/176342.html</guid><wfw:comment>http://www.blogjava.net/emu/comments/176342.html</wfw:comment><comments>http://www.blogjava.net/emu/archive/2008/01/18/176342.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/emu/comments/commentRss/176342.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/emu/services/trackbacks/176342.html</trackback:ping><description><![CDATA[<p>服务器现在同时输出json和xml两种数据，取决于服务程序和页面之间的约定。在程序遇到问题的时候会返回错误信息，也按照相同的约定会返回json或者xml格式的数据。比如当页面请求xml的时候服务会返回：</p>
<p>&nbsp;</p>
<p>&nbsp;</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"><span style="color: #0000ff">&lt;?</span><span style="color: #ff00ff">xml&nbsp;version="1.0"&nbsp;encoding="gb2312"</span><span style="color: #0000ff">?&gt;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">error</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">出错了</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">error</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span></div>
<p>&nbsp;</p>
<p>&nbsp;而当页面请求的是json的时候服务器会返回&nbsp;</p>
<p>&nbsp;</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 alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">alert("出错了")</span></div>
<p>&nbsp;</p>
<p>但是今天遇到的问题是，服务器本身出了问题，比如说遇到内部服务器错误或者资源不存在，又不想返回对解决问题帮助不大的500或者404响应，而想像上面一样返回一个一致性的带错误说明的200响应。由于无从得知现在应该返回xml还是json格式的出错信息。于是服务器就统一返回了一个xml格式的错误。但是页面这个时候是用script标签在请求一个json数据，接收到一个xml文件，直接就产生语法错误了。改成json的话，请求xml的地方也无法提供正确的错误提示。</p>
<p>这个时候我们需要的就是服务器返回一个同时符合javascript和xml语法的错误信息，或者说把xml和javascript的错误信息放到一起。</p>
<p>嗷嗷研究过把css和javascript放在一个文件里面，主要是为了可以较少一个http请求。把xml和javascript放在一起有一些不同。</p>
<p>最容易想到的是&#8220;&lt;!-- &#8221;注释符。由于历史原因，这个xml里面的注释符在javascrip里面是一个单行注释符，也就是说在javascript里面，它以回车符为结束，而在xml里面是以--&gt;结束。因此如果用这样一个符号开始一个文件，我们就可以通过控制它的结束位置来控制它在不同语法下面的意义。</p>
<p>error.xml</p>
<p>&nbsp;</p>
<div style="border-right: windowtext 0.5pt solid; padding-right: 5.4pt; border-top: windowtext 0.5pt solid; padding-left: 5.4pt; background: #e6e6e6; padding-bottom: 4px; border-left: windowtext 0.5pt solid; width: 95%; word-break: break-all; padding-top: 4px; border-bottom: windowtext 0.5pt solid">
<div><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><span style="color: #008000">&lt;!--</span><span style="color: #008000">&nbsp;</span><span style="color: #008000">--&gt;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">error</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">出错了</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">error</span><span style="color: #0000ff">&gt;</span><span style="color: #008000">&lt;!--</span><span style="color: #008000">&nbsp;<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />alert("出错了")//</span><span style="color: #008000">--&gt;</span></div>
</div>
<p>&nbsp;</p>
<p>注意，从xml的角度上来看，这个xml没有带&lt;?xml部分，因此不能制定encoding编码，只能用默认的utf-8编码输出。或者用实体替换和转义符来回避编码问题：</p>
<p>error.xml</p>
<p>&nbsp;</p>
<div style="border-right: windowtext 0.5pt solid; padding-right: 5.4pt; border-top: windowtext 0.5pt solid; padding-left: 5.4pt; background: #e6e6e6; padding-bottom: 4px; border-left: windowtext 0.5pt solid; width: 95%; word-break: break-all; padding-top: 4px; border-bottom: windowtext 0.5pt solid">
<div><span style="color: #008000">&lt;!--</span><span style="color: #008000">&nbsp;</span><span style="color: #008000">--&gt;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">error</span><span style="color: #0000ff"><span style="color: #0000ff">&gt;</span><span style="color: #000000">&amp;amp;#x51fa;&amp;amp;#x9519;&amp;amp;#x4e86;</span><span style="color: #0000ff">&lt;/</span></span><span style="color: #800000">error</span><span style="color: #0000ff">&gt;</span><span style="color: #008000">&lt;!--</span><span style="color: #008000">&nbsp;<br />
alert("\u51fa\u9519\u4e86")//</span><span style="color: #008000">--&gt;</span></div>
</div>
<p>&nbsp;</p>
<p>之所以刻意不带&lt;?xml，是因为按照规范&lt;?xml必需出现在最开始部分，虽然IE可以允许&lt;?xml前面出现&lt;!-- --&gt;注释，但是FF就没有这样的灵活性了。</p>
<p>简单的在IE下面用两种语法处理这个文件的一个例子：</p>
<p>&nbsp;</p>
<div style="border-right: windowtext 0.5pt solid; padding-right: 5.4pt; border-top: windowtext 0.5pt solid; padding-left: 5.4pt; background: #e6e6e6; padding-bottom: 4px; border-left: windowtext 0.5pt solid; width: 95%; word-break: break-all; padding-top: 4px; border-bottom: windowtext 0.5pt solid">
<div><span style="color: #0000ff">&lt;</span><span style="color: #800000">HTML</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">HEAD</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">TITLE</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;test&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">TITLE</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">META&nbsp;</span><span style="color: #ff0000">NAME</span><span style="color: #0000ff">="Author"</span><span style="color: #ff0000">&nbsp;CONTENT</span><span style="color: #0000ff">="emu"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">HEAD</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">BODY</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">xml&nbsp;</span><span style="color: #ff0000">src</span><span style="color: #0000ff">="error.xml"</span><span style="color: #ff0000">&nbsp;id</span><span style="color: #0000ff">="err"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">xml</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">SCRIPT&nbsp;</span><span style="color: #ff0000">LANGUAGE</span><span style="color: #0000ff">="JavaScript"</span><span style="color: #ff0000">&nbsp;src</span><span style="color: #0000ff">="error.xml"</span><span style="color: #ff0000">&nbsp;charset</span><span style="color: #0000ff">="utf-8"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">SCRIPT</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">SCRIPT&nbsp;</span><span style="color: #ff0000">LANGUAGE</span><span style="color: #0000ff">="JavaScript"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000; background-color: #f5f5f5"><br />
alert(err.getElementsByTagName(</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">error</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">)[</span><span style="color: #000000; background-color: #f5f5f5">0</span><span style="color: #000000; background-color: #f5f5f5">].xml)<br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">SCRIPT</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">BODY</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">HTML</span><span style="color: #0000ff">&gt;</span></div>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/emu/aggbug/176342.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/emu/" target="_blank">emu</a> 2008-01-18 22:07 <a href="http://www.blogjava.net/emu/archive/2008/01/18/176342.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>OpenSocial，想说爱你不容易</title><link>http://www.blogjava.net/emu/archive/2008/01/03/172540.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Thu, 03 Jan 2008 10:11:00 GMT</pubDate><guid>http://www.blogjava.net/emu/archive/2008/01/03/172540.html</guid><wfw:comment>http://www.blogjava.net/emu/comments/172540.html</wfw:comment><comments>http://www.blogjava.net/emu/archive/2008/01/03/172540.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/emu/comments/commentRss/172540.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/emu/services/trackbacks/172540.html</trackback:ping><description><![CDATA[OpenSocial的推出，让大家怀抱了多大的期望。Many sites, one API ，Server optional，将来我们的web application 就可以一次编写到处运行，英特网变成一个（也许几个）巨大的操作系统...google给我们描绘了一个多么美丽的乌托邦。包括Myspace在内的诸多SNS网站也都早早就宣布支持OpenSocial。可是两个月过去了，还是只看到orkut的一个半成品的sandbox，在emu的手里还从来没有顺顺当当跑起来过。Myspace.cn在千呼万唤之后终于丢出来一个开发者平台MDP，大家高兴了半天以为OpenSocial终于有一个实现平台了，可是打开一看：　　<br />
<em><wbr><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;基于Myspace.cn开发者平台（MDP），您可以使所开发产品 访问MySpace的用户及用户数据，这些产品将可以直接植入MySpace.cn页面，从而让更多的人有机会看到和使用您的产品，MDP可以让您： <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用Flash，<font style="line-height: 1.3em" color="#ff0000">或者在不久的将来用JavaScript和HTML来开发您的产品</font><wbr>； <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;自己在产品上发布广告，或由MySpace提供定向广告，投放在您的产品上； <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;应用程序可以部署在您自己的服务器上或MySpace.cn的服务器上；<img alt="" src="http://zt.oeeee.com/ndrw/Vote.aspx?PID=13" style="display:none"/ /><br />
<font style="line-height: 1.3em" color="#ff0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MDP将支持Open Social规范</font><wbr>，OpenSocial是一个令人耳目一新的新的社区产品开发标准，可以使用大家所熟悉的ActionScript，JavaScript, HTML等语言开发跨平台的社区产品。<br />
</em>　　<br />
嗯，将支持js，将支持html，将支持Open Social规范，只要我们耐心等，牛奶会有的，面包会有的，一切都会有的。这帮子家伙就会忽悠，让人不禁要想，大家真的打算支持Open Social 吗？<img id="paperPicArea1" style="display: none; position: relative" alt="" src="http://imgcache.qq.com/qzone_v4/b.gif" /> <img src ="http://www.blogjava.net/emu/aggbug/172540.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/emu/" target="_blank">emu</a> 2008-01-03 18:11 <a href="http://www.blogjava.net/emu/archive/2008/01/03/172540.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在eclipse下面跑jsunit</title><link>http://www.blogjava.net/emu/archive/2007/11/01/157450.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Thu, 01 Nov 2007 04:13:00 GMT</pubDate><guid>http://www.blogjava.net/emu/archive/2007/11/01/157450.html</guid><wfw:comment>http://www.blogjava.net/emu/comments/157450.html</wfw:comment><comments>http://www.blogjava.net/emu/archive/2007/11/01/157450.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/emu/comments/commentRss/157450.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/emu/services/trackbacks/157450.html</trackback:ping><description><![CDATA[<p>写了几个简单的测试用例，在eclips下面绑定了TT，Firefox和safari跑一下，相当的舒服啊。<br />
</p>
<img height="519" alt="" src="http://www.blogjava.net/images/blogjava_net/emu/jsunit.GIF" width="337" border="0" /><br />
<br />
由于使用了本地文件系统访问，用IE的话会有权限警告，要多一个确认的交互才能允许，于是改用TT。<br />
用FireFox最新的minefield版本和opera在访问本地文件系统的时候都有问题，要改用web访问方式才能通过：<br />
<br />
minefield<br />
<img height="466" alt="" src="http://www.blogjava.net/images/blogjava_net/emu/jsunitminefield.GIF" width="585" border="0" /><br />
<br />
opera：<br />
<img height="582" alt="" src="http://www.blogjava.net/images/blogjava_net/emu/jsunitopera.GIF" width="590" border="0" /><br />
<br />
<br />
下载jsunit的plugin，放到eclipse的plugins目录下面，然后在window/preferences下面配置jsunit的路径和测试用的浏览器就可以了<br />
<img height="529" alt="" src="http://www.blogjava.net/images/blogjava_net/emu/jsunitsetup.GIF" width="777" border="0" /><br />
<br />
safari我使用的是<span style="color: black"><a href="http://www.deviantart.com/download/65199427/Safari_CHS_for_Win_by_hohodigidea.rar"><span style="color: black">Digidea</span>的汉化版</a>。safari</span>似乎兼容性不好，标准的jsunit测试都有两个通不过，另有两个运行不起来。<br />
 <img src ="http://www.blogjava.net/emu/aggbug/157450.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/emu/" target="_blank">emu</a> 2007-11-01 12:13 <a href="http://www.blogjava.net/emu/archive/2007/11/01/157450.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>定位到了IE报告“存储空间不足，无法完成此操作”的原因。</title><link>http://www.blogjava.net/emu/archive/2007/08/24/139182.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Fri, 24 Aug 2007 13:39:00 GMT</pubDate><guid>http://www.blogjava.net/emu/archive/2007/08/24/139182.html</guid><wfw:comment>http://www.blogjava.net/emu/comments/139182.html</wfw:comment><comments>http://www.blogjava.net/emu/archive/2007/08/24/139182.html#Feedback</comments><slash:comments>35</slash:comments><wfw:commentRss>http://www.blogjava.net/emu/comments/commentRss/139182.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/emu/services/trackbacks/139182.html</trackback:ping><description><![CDATA[<p>&#169;emu<br><br>近期有大量的投诉是关于在脚本运行过程IE报告&#8220;存储空间不足，无法完成此操作&#8221;的。出现此问题的用户全部都无法访问IE的&#8220;帮助——关于&#8221;页面，报告相同的错误，因此可以定位为IE本身出了问题。<br><br>怀疑是某些软件修改了系统造成，但是也一直没有定位到是什么软件或者插件。由于问题无法在开发机上重现，定位了非常久，最后猜测是由于在模式对话框中访问navigator.userAgent造成。编写了如下页面：<br><br></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"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">SCRIPT</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br>showModalDialog(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">javascript:'&lt;script&gt;alert(navigator.userAgent);&lt;\/script&gt;'</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">)<br></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">SCRIPT</span><span style="COLOR: #0000ff">&gt;</span></div>
<p><br>&nbsp;</p>
<p>保存后发送到出问题的用户那里运行，果然重现了问题：<br><br><img src="http://www.blogjava.net/images/blogjava_net/emu/4494/o_存储空间不足.jpg" border=0><br><br>&#169;emu</p>
<img src ="http://www.blogjava.net/emu/aggbug/139182.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/emu/" target="_blank">emu</a> 2007-08-24 21:39 <a href="http://www.blogjava.net/emu/archive/2007/08/24/139182.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IE傻呼呼的</title><link>http://www.blogjava.net/emu/archive/2007/08/21/138247.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Mon, 20 Aug 2007 16:26:00 GMT</pubDate><guid>http://www.blogjava.net/emu/archive/2007/08/21/138247.html</guid><wfw:comment>http://www.blogjava.net/emu/comments/138247.html</wfw:comment><comments>http://www.blogjava.net/emu/archive/2007/08/21/138247.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/emu/comments/commentRss/138247.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/emu/services/trackbacks/138247.html</trackback:ping><description><![CDATA[<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"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">HTML</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">HEAD</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">meta&nbsp;</span><span style="COLOR: #ff0000">http-equiv</span><span style="COLOR: #0000ff">="Content-Type"</span><span style="COLOR: #ff0000">&nbsp;content</span><span style="COLOR: #0000ff">="text/html;charset=gb2312"</span><span style="COLOR: #ff0000">&nbsp;</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">HEAD</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">BODY</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>试一试<br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">SCRIPT&nbsp;</span><span style="COLOR: #ff0000">LANGUAGE</span><span style="COLOR: #0000ff">="JavaScript"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br>setTimeout('document.charset</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">utf-8</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">',</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">);<br></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">SCRIPT</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">BODY</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">HTML</span><span style="COLOR: #0000ff">&gt;</span></div>
这个gb2312页面，在IE下面显示出来，在&#8220;查看--编码&#8221;或者右键菜单的&#8220;编码&#8221;中，都会告诉你这个页面是UTF-8编码的，傻的够可爱的，可以蒙倒不少人了。FF和OP在这点上是要聪明一点，不上当。 <br>如果手工选到utf-8上会原形毕露，不过刷新一下又可以变回去。 
<img src ="http://www.blogjava.net/emu/aggbug/138247.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/emu/" target="_blank">emu</a> 2007-08-21 00:26 <a href="http://www.blogjava.net/emu/archive/2007/08/21/138247.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>hello ruby</title><link>http://www.blogjava.net/emu/archive/2007/08/12/136246.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Sun, 12 Aug 2007 14:30:00 GMT</pubDate><guid>http://www.blogjava.net/emu/archive/2007/08/12/136246.html</guid><wfw:comment>http://www.blogjava.net/emu/comments/136246.html</wfw:comment><comments>http://www.blogjava.net/emu/archive/2007/08/12/136246.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/emu/comments/commentRss/136246.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/emu/services/trackbacks/136246.html</trackback:ping><description><![CDATA[<p>心血来潮下了个ruby运行环境，还是写个经典的99乘法表吧。不知道怎么查语法手册，基本都是猜的语法。<br></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"><span style="COLOR: #000000">i</span><span style="COLOR: #000000">=</span><span style="COLOR: #800000">1</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">&nbsp;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #800000">10</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;j</span><span style="COLOR: #000000">=</span><span style="COLOR: #800000">1</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">&nbsp;j</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">i<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">print</span><span style="COLOR: #000000">&nbsp;String(i)</span><span style="COLOR: #000000">+</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">*</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">String(j)</span><span style="COLOR: #000000">+</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">=</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">String(i</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">j)</span><span style="COLOR: #000000">+</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">\t</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;j</span><span style="COLOR: #000000">+=</span><span style="COLOR: #800000">1</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;end<br>&nbsp;&nbsp;i</span><span style="COLOR: #000000">+=</span><span style="COLOR: #800000">1</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">print</span><span style="COLOR: #000000">&nbsp;</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="FONT-WEIGHT: bold; COLOR: #000000">\n</span><span style="FONT-WEIGHT: bold; COLOR: #000000">"</span><span style="COLOR: #000000"><br>end</span></div>
<br>for的语法没有猜到，用经典的while代替了。好像不支持++操作，用+＝1代替了，好像也不支持整数的toString方法，试了下强制类型转换String(i)居然可以呵呵。print语句也是猜出来的。
<img src ="http://www.blogjava.net/emu/aggbug/136246.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/emu/" target="_blank">emu</a> 2007-08-12 22:30 <a href="http://www.blogjava.net/emu/archive/2007/08/12/136246.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IE的经典javascript异常</title><link>http://www.blogjava.net/emu/archive/2007/08/11/135964.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Fri, 10 Aug 2007 19:53:00 GMT</pubDate><guid>http://www.blogjava.net/emu/archive/2007/08/11/135964.html</guid><wfw:comment>http://www.blogjava.net/emu/comments/135964.html</wfw:comment><comments>http://www.blogjava.net/emu/archive/2007/08/11/135964.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/emu/comments/commentRss/135964.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/emu/services/trackbacks/135964.html</trackback:ping><description><![CDATA[这是两个经典异常，不知道原理的话很难定位。从下面的代码中可用看到发生的条件<br><br>
<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"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">iframe&nbsp;</span><span style="COLOR: #ff0000">src</span><span style="COLOR: #0000ff">="javascript:'&lt;script&gt;top.ff1={abc:function(){}}&lt;\/script&gt;'"</span><span style="COLOR: #ff0000">&nbsp;width</span><span style="COLOR: #0000ff">=0&nbsp;</span><span style="COLOR: #ff0000">height</span><span style="COLOR: #0000ff">=0&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="f1"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">iframe</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">button&nbsp;</span><span style="COLOR: #ff0000">onclick</span><span style="COLOR: #0000ff">="f1.location='about:blank';setTimeout('alert(ff1.abc())',0)"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">不能执行已经释放的代码</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">button</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">&nbsp;<br><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">iframe&nbsp;</span><span style="COLOR: #ff0000">src</span><span style="COLOR: #0000ff">="javascript:'&lt;script&gt;top.ff2={abc:function(){}}&lt;\/script&gt;'"</span><span style="COLOR: #ff0000">&nbsp;width</span><span style="COLOR: #0000ff">=0&nbsp;</span><span style="COLOR: #ff0000">height</span><span style="COLOR: #0000ff">=0&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="f2"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">iframe</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">button&nbsp;</span><span style="COLOR: #ff0000">onclick</span><span style="COLOR: #0000ff">="f2.location='about:blank';setTimeout('alert(ff2.toString())',0)"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">意外地调用了方法或属性访问</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">button</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">&nbsp;<br></span></div>
<p><br>p标签的innerHTML不能插入center标记：<br></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"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">p&nbsp;</span><span style="COLOR: #ff0000">onclick</span><span style="COLOR: #0000ff">="innerHTML='&lt;CENTER&gt;&lt;/CENTER&gt;'"</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">button</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">未知的运行时错误</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">button</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">p</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span></div>
<br>下面这个是经典的&#8220;无法打开Internet站点&#8221;异常：<br>
<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"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="tt"</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">document.getElementById(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">tt</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">).innerHTML</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">""</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span></div>
<br>从这些例子可以看到IE的健壮性还是有挺大的提升余地的。 
<img src ="http://www.blogjava.net/emu/aggbug/135964.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/emu/" target="_blank">emu</a> 2007-08-11 03:53 <a href="http://www.blogjava.net/emu/archive/2007/08/11/135964.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>看看各个浏览器对异常对象的支持</title><link>http://www.blogjava.net/emu/archive/2007/07/25/132304.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Wed, 25 Jul 2007 06:31:00 GMT</pubDate><guid>http://www.blogjava.net/emu/archive/2007/07/25/132304.html</guid><wfw:comment>http://www.blogjava.net/emu/comments/132304.html</wfw:comment><comments>http://www.blogjava.net/emu/archive/2007/07/25/132304.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/emu/comments/commentRss/132304.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/emu/services/trackbacks/132304.html</trackback:ping><description><![CDATA[测试代码：<br>
<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"><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000">{abc();}</span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000">(e){<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;i&nbsp;</span><span style="COLOR: #0000ff">in</span><span style="COLOR: #000000">&nbsp;e){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.write(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;p&gt;&lt;b&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">i</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;/b&gt;:</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">e[i]</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;/p&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>}</span></div>
<br>在IE下：
<p><strong>name</strong>:TypeError</p>
<p><strong>message</strong>:缺少对象</p>
<p><strong>number</strong>:-2146823281</p>
<p><strong>description</strong>:缺少对象<br></p>
<br>在FireFox下<br>
<p><strong>message</strong>:abc is not defined</p>
<p><strong>fileName</strong>:file:///C:/test.html</p>
<p><strong>lineNumber</strong>:14</p>
<p><strong>stack</strong>:@file:///C:/test.html:14 </p>
<p><strong>name</strong>:ReferenceError</p>
<br>在safari下：<br><span class=Apple-style-span style="WORD-SPACING: 0px; FONT: 16px 'Times New Roman'; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0">
<p><strong>message</strong>:Can't find variable: abc</p>
<p><strong>line</strong>:14</p>
<p><strong>sourceId</strong>:4</p>
<p><strong>sourceURL</strong>:file:///C:/test.html</p>
<p><strong>name</strong>:ReferenceError</p>
<p><br>最烂的是opera：<br>message:Statement on line 4: Reference to undefined variable: abc Backtrace: Line 4 of inline#1 script in <a href="file://localhost/C:/test.html">file://localhost/C:/test.html</a> abc(); </p>
<p>opera#sourceloc:4<br><br>虽然message是所有浏览器都支持，但是所有浏览器的message都不同，而且不同语言版本的操作系统和浏览器也有不同。<br><br>因此要做跨浏览器的异常区分处理，emu认为最好是用name来区分异常类型，这样就只有浏览器的不同而没有语言版本的不同了。opera做的这么烂，以至于只能从message入手，还是最后再考虑做对它的支持吧。</p>
</span>
<img src ="http://www.blogjava.net/emu/aggbug/132304.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/emu/" target="_blank">emu</a> 2007-07-25 14:31 <a href="http://www.blogjava.net/emu/archive/2007/07/25/132304.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>纯html的折线新画法</title><link>http://www.blogjava.net/emu/archive/2007/07/20/131544.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Fri, 20 Jul 2007 11:42:00 GMT</pubDate><guid>http://www.blogjava.net/emu/archive/2007/07/20/131544.html</guid><wfw:comment>http://www.blogjava.net/emu/comments/131544.html</wfw:comment><comments>http://www.blogjava.net/emu/archive/2007/07/20/131544.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/emu/comments/commentRss/131544.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/emu/services/trackbacks/131544.html</trackback:ping><description><![CDATA[<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"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">span&nbsp;</span><span style="COLOR: #ff0000">style</span><span style="COLOR: #0000ff">="border-left:100px&nbsp;solid&nbsp;white;border-top:400px&nbsp;solid&nbsp;red;width:0px;position:absolute;top:10px;left:10px"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">span</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">span&nbsp;</span><span style="COLOR: #ff0000">style</span><span style="COLOR: #0000ff">="border-left:99px&nbsp;solid;border-left-color:transparent&nbsp;!important;border-left-color:yellow;;border-top:396px&nbsp;solid&nbsp;white;width:0px;position:absolute;top:10px;left:12px;filter:progid:DXImageTransform.Microsoft.Chroma(color='yellow')"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">span</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><br>&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">span&nbsp;</span><span style="COLOR: #ff0000">style</span><span style="COLOR: #0000ff">="border-right:100px&nbsp;solid&nbsp;white;border-top:400px&nbsp;solid&nbsp;red;width:0px;position:absolute;top:10px;left:110px"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">span</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">span&nbsp;</span><span style="COLOR: #ff0000">style</span><span style="COLOR: #0000ff">="border-right:98px&nbsp;solid;border-right-color:transparent&nbsp;!important;border-right-color:yellow;border-top:392px&nbsp;solid&nbsp;white;width:0px;position:absolute;top:10px;left:110px;filter:progid:DXImageTransform.Microsoft.Chroma(color='yellow')"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">span</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">&nbsp;<br></span></div>
<br>这个实现实在是有点匪夷所思了。IE/FF/OPERA下面可用。在safari下面计算border的时候有多一个像素的误差，因此这个坐标要做一些调整：<br><br>
<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"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">span&nbsp;</span><span style="COLOR: #ff0000">style</span><span style="COLOR: #0000ff">="border-left:100px&nbsp;solid&nbsp;white;border-top:400px&nbsp;solid&nbsp;red;width:0px;position:absolute;top:10px;left:10px"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">span</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">span&nbsp;</span><span style="COLOR: #ff0000">style</span><span style="COLOR: #0000ff">="border-left:99px&nbsp;solid;border-left-color:transparent&nbsp;!important;border-left-color:yellow;;border-top:396px&nbsp;solid&nbsp;white;width:0px;position:absolute;top:10px;left:12px;filter:progid:DXImageTransform.Microsoft.Chroma(color='yellow')"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">span</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><br>&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">span&nbsp;</span><span style="COLOR: #ff0000">style</span><span style="COLOR: #0000ff">="border-right:100px&nbsp;solid&nbsp;white;border-top:400px&nbsp;solid&nbsp;red;width:0px;position:absolute;top:10px;left:110px"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">span</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">span&nbsp;</span><span style="COLOR: #ff0000">style</span><span style="COLOR: #0000ff">="border-right:98px&nbsp;solid;border-right-color:transparent&nbsp;!important;border-right-color:yellow;border-top:392px&nbsp;solid&nbsp;white;width:0px;position:absolute;top:10px;left:110px;filter:progid:DXImageTransform.Microsoft.Chroma(color='yellow')"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">span</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">&nbsp;<br></span></div>
&nbsp; 
<img src ="http://www.blogjava.net/emu/aggbug/131544.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/emu/" target="_blank">emu</a> 2007-07-20 19:42 <a href="http://www.blogjava.net/emu/archive/2007/07/20/131544.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解决IE关闭页面时连续弹出新窗口的bug</title><link>http://www.blogjava.net/emu/archive/2007/07/06/128666.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Fri, 06 Jul 2007 12:41:00 GMT</pubDate><guid>http://www.blogjava.net/emu/archive/2007/07/06/128666.html</guid><wfw:comment>http://www.blogjava.net/emu/comments/128666.html</wfw:comment><comments>http://www.blogjava.net/emu/archive/2007/07/06/128666.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/emu/comments/commentRss/128666.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/emu/services/trackbacks/128666.html</trackback:ping><description><![CDATA[这个问题长期以来一直一个随机出现，又十分难以重现和定位。几经努力之后定位到了，在一个带有复杂的内嵌iframe的页面，当内嵌的iframe正在渲染的过程中关闭IE 浏览器的时候，会比较容易发生这个问题。<br><br>比较容易猜想的是IE在关闭iframe的时候出现了某些问题。猜测是几个iframe相互有通过top的脚本调用有关系，或者几个iframe和top都在各自不同的域名下有关系，但是页面太复杂进一步定位具体是什么问题十分困难（当试图简化页面的时候，问题往往就不能重现了）。而且问题出现在浏览器内部，就算具体定位到了不一定就能够解决。所以更容易和更有意义的，可能是回避&#8220;连续弹出新窗口&#8221;这个问题。<br><br>最开始的想法是，IE既然在出问题的时候是正在渲染iframe，那么此时可能cpu特别繁忙导致了问题，如果可以回避cpu的最高峰期，把渲染iframe的动作做一定的延迟，也许就可以解决问题。试验后发现，只是减缓了页面的展现速度，对问题的解决基本没用帮助。<br><br>换个想法，想想如果我们自己做浏览器，我们在处理这个问题的时候会怎么做呢，容易出什么问题呢？我们可以做这样的猜测：IE关闭窗口的时候，是先关闭和回收了最外层的window对象，然后收集它引用的各种资源，一一进行关闭和回收。也就是说，相当于一个队列式（先打开的window对象先销毁回收，后打开（被引用）的window对象后销毁和回收）或者递归式（父window对象先销毁，子window对象后销毁）的操作：。<br><br>看看下面这个测试页面的关闭顺序，其实很耐人寻味（把代码保存为一个html文件后刷新页面）：<br><br>
<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"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">iframe&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="emu1"</span><span style="COLOR: #ff0000">&nbsp;src</span><span style="COLOR: #0000ff">="javascript:'&lt;iframe&nbsp;name=emu2&gt;&lt;/iframe&gt;&lt;iframe&nbsp;name=emu3&gt;&lt;/iframe&gt;'"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">iframe</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">iframe&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="emu4"</span><span style="COLOR: #ff0000">&nbsp;src</span><span style="COLOR: #0000ff">="javascript:'&lt;iframe&nbsp;name=emu5&gt;&lt;/iframe&gt;&lt;iframe&nbsp;name=emu6&gt;&lt;/iframe&gt;'"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">iframe</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">SCRIPT&nbsp;</span><span style="COLOR: #ff0000">LANGUAGE</span><span style="COLOR: #0000ff">="JavaScript"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br>setTimeout(</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(){<br>&nbsp;&nbsp;&nbsp;&nbsp;window.attachEvent('onbeforeunload',</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(){alert('parent')})<br>&nbsp;&nbsp;&nbsp;&nbsp;frames['emu1'].attachEvent('onbeforeunload',</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(){alert('iframe1')})<br>&nbsp;&nbsp;&nbsp;&nbsp;frames['emu1'].frames['emu2'].attachEvent('onbeforeunload',</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(){alert('iframe2')})<br>&nbsp;&nbsp;&nbsp;&nbsp;frames['emu1'].frames['emu3'].attachEvent('onbeforeunload',</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(){alert('iframe3')})<br>&nbsp;&nbsp;&nbsp;&nbsp;frames['emu4'].attachEvent('onbeforeunload',</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(){alert('iframe4')})<br>&nbsp;&nbsp;&nbsp;&nbsp;frames['emu4'].frames['emu5'].attachEvent('onbeforeunload',</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(){alert('iframe5')})<br>&nbsp;&nbsp;&nbsp;&nbsp;frames['emu4'].frames['emu6'].attachEvent('onbeforeunload',</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(){alert('iframe6')})<br>},</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">)<br></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">SCRIPT</span><span style="COLOR: #0000ff">&gt;</span></div>
<br><br>
<p>这样子很容易带来的一个问题是，对象的销毁和资源的回收工作，一般来说是作为低优先级的操作，要为高优先级的操作让路的，那么在top窗口被销毁回收的时候，各个iframe的渲染工作，作为优先级比较高的计算，仍在继续进行。等到各个iframe渲染完成了以后，才发现他本来以为一直在哪里的parent（或者top）句柄，<strong>现在指向了一个随机的位置</strong>，于是就发生了不可预测的后果。<br><br>假如问题真的是这样，那么解决方案可能是<br>1 对关闭操作触发的销毁和回收操作，提高优先级别，或者<br>2 一但触发关闭操作，立刻主动停止所有的渲染操作，全部资源等待回收，或者<br>3 对window的关闭操作采用栈式的顺序，晚创建的先销毁，或者或者冒泡式的时序，子窗口先销毁再销毁父窗口。<br>现在我们的问题是浏览器自己是不会去调整自己的运算优先级和销毁顺序的，那么我们能否用脚本来帮助它调整一下window对象的销毁次序呢：</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"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">div&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="emu"</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">iframe&nbsp;</span><span style="COLOR: #ff0000">src</span><span style="COLOR: #0000ff">="javascript:'this&nbsp;is&nbsp;an&nbsp;iframe'"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">iframe</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">div</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">SCRIPT&nbsp;</span><span style="COLOR: #ff0000">LANGUAGE</span><span style="COLOR: #0000ff">="JavaScript"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br>window.attachEvent('onbeforeunload',</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(){document.getElementById(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">emu</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">).innerHTML</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">iframe&nbsp;closed</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;alert('parent')})<br></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">SCRIPT</span><span style="COLOR: #0000ff">&gt;</span></div>
<p><br>经过这样的处理后，在可以稳定重现连续打开IE窗口的计算机上，此问题消失，应该说得到了初步解决。<br><br>这个问题其实历史非常悠久了，flashget论坛有人认为是flashget的问题：<br><a href="http://bbs.flashget.com/post.php?action=reply&amp;fid=14&amp;tid=2461&amp;repquote=16576&amp;extra">http://bbs.flashget.com/post.php?action=reply&amp;fid=14&amp;tid=2461&amp;repquote=16576&amp;extra</a>=<br><br>阿里巴巴也蒙受了不白之冤：<br><a href="http://club.china.alibaba.com/forum/thread/view/_22629427_.html">http://club.china.alibaba.com/forum/thread/view/_22629427_.html</a><br><br>同样不幸的还有土豆网，土豆的官方声明把箭头指向了BHO，不知是否有根据，实际试验至少有部分机器确实选中了&#8220;启用第三方浏览器扩展&#8221;，并且禁止此选项后问题解决了，但是这个操作也很难作为一个解决方案。<br><a href="http://bbs.tudou.com/topic/20061231/5686">http://bbs.tudou.com/topic/20061231/5686</a><br><br>但是网上搜不到其他相关的解决方案，不少人都以为是中了木马、病毒或者打开的网页带有恶意脚本，msdn上一时也搜不到相关的资料。特此贴出来共享&nbsp;。</p>
<img src ="http://www.blogjava.net/emu/aggbug/128666.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/emu/" target="_blank">emu</a> 2007-07-06 20:41 <a href="http://www.blogjava.net/emu/archive/2007/07/06/128666.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>windows常用命令集[转] </title><link>http://www.blogjava.net/emu/archive/2007/06/08/122912.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Fri, 08 Jun 2007 10:11:00 GMT</pubDate><guid>http://www.blogjava.net/emu/archive/2007/06/08/122912.html</guid><wfw:comment>http://www.blogjava.net/emu/comments/122912.html</wfw:comment><comments>http://www.blogjava.net/emu/archive/2007/06/08/122912.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/emu/comments/commentRss/122912.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/emu/services/trackbacks/122912.html</trackback:ping><description><![CDATA[gpedit.msc-----组策略 sndrec32-------录音机 <br>Nslookup-------IP地址侦测器 explorer-------打开资源管理器 <br>logoff---------注销命令 tsshutdn-------60秒倒计时关机命令 <br>lusrmgr.msc----本机用户和组 services.msc---本地服务设置 <br>oobe/msoobe /a----检查XP是否激活 notepad--------打开记事本 <br>cleanmgr-------垃圾整理 net start messenger----开始信使服务 <br>compmgmt.msc---计算机管理 net stop messenger-----停止信使服务 <br>conf-----------启动netmeeting dvdplay--------DVD播放器 <br>charmap--------启动字符映射表 diskmgmt.msc---磁盘管理实用程序 <br>calc-----------启动计算器 dfrg.msc-------磁盘碎片整理程序 <br>chkdsk.exe-----Chkdsk磁盘检查 devmgmt.msc--- 设备管理器 <br>regsvr32 /u *.dll----停止dll文件运行 drwtsn32------ 系统医生 <br>rononce -p ----15秒关机 dxdiag---------检查DirectX信息 <br>regedt32-------注册表编辑器 Msconfig.exe---系统配置实用程序 <br>rsop.msc-------组策略结果集 mem.exe--------显示内存使用情况 <br>regedit.exe----注册表 winchat--------XP自带局域网聊天 <br>progman--------程序管理器 winmsd---------系统信息 <br>perfmon.msc----计算机性能监测程序 winver---------检查Windows版本 <br>sfc /scannow-----扫描错误并复原 winipcfg-------IP配置 <br>taskmgr-----任务管理器（2000／xp／2003） command--------cmd <br>fsmgmt.msc 共享文件夹 netstat -an----查看端口 <br>osk 屏幕键盘 install.asp----修改注册网页 <br>eventvwr.msc 时间查看器 <br>secpol.msc 本地安全设置 <br>services.msc 服务 <br>2K <br><br>accwiz.exe &gt; 辅助工具向导 <br>acsetups.exe &gt; acs setup dcom server executable <br>actmovie.exe &gt; 直接显示安装工具 <br>append.exe &gt; 允许程序打开制定目录中的数据 <br>arp.exe &gt; 显示和更改计算机的ip与硬件物理地址的对应列表 <br>at.exe &gt; 计划运行任务 <br>atmadm.exe &gt; 调用管理器统计 <br>attrib.exe &gt; 显示和更改文件和文件夹属性 <br>autochk.exe &gt; 检测修复文件系统 <br>autoconv.exe &gt; 在启动过程中自动转化系统 <br>autofmt.exe &gt; 在启动过程中格式化进程 <br>autolfn.exe &gt; 使用长文件名格式 <br>bootok.exe &gt; boot acceptance application for registry <br>bootvrfy.exe &gt; 通报启动成功 <br>cacls.exe &gt; 显示和编辑acl <br>calc.exe &gt; 计算器 <br>cdplayer.exe &gt; cd播放器 <br>change.exe &gt; 与终端服务器相关的查询 <br>charmap.exe &gt; 字符映射表 <br>chglogon.exe &gt; 启动或停用会话记录 <br>chgport.exe &gt; 改变端口（终端服务） <br>chgusr.exe &gt; 改变用户（终端服务） <br>chkdsk.exe &gt; 磁盘检测程序 <br>chkntfs.exe &gt; 磁盘检测程序 <br>cidaemon.exe &gt; 组成ci文档服务 <br>cipher.exe &gt; 在ntfs上显示或改变加密的文件或目录 <br>cisvc.exe &gt; 索引内容 <br>ckcnv.exe &gt; 变换cookie <br>cleanmgr.exe &gt; 磁盘清理 <br>cliconfg.exe &gt; sql客户网络工具 <br>clipbrd.exe &gt; 剪贴簿查看器 <br>clipsrv.exe &gt; 运行clipboard服务 <br>clspack.exe &gt; 建立系统文件列表清单 <br>cluster.exe &gt; 显示域的集群 <br>_cmd_.exe &gt; 没什么好说的！ <br>cmdl32.exe &gt; 自动下载连接管理 <br>cmmgr32.exe &gt; 连接管理器 <br>cmmon32.exe &gt; 连接管理器监视 <br>cmstp.exe &gt; 连接管理器配置文件安装程序 <br>comclust.exe &gt; 集群 <br>comp.exe &gt; 比较两个文件和文件集的内容＊ <br>compact.exe &gt; 显示或改变ntfs分区上文件的压缩状态 <br>conime.exe &gt; ime控制台 <br>control.exe &gt; 控制面板 <br>convert.exe &gt; 转换文件系统到ntfs <br>convlog.exe &gt; 转换iis日志文件格式到ncsa格式 <br>cprofile.exe &gt; 转换显示模式 <br>cscript.exe &gt; 较本宿主版本 <br>csrss.exe &gt; 客户服务器runtime进程 <br>csvde.exe &gt; 日至格式转换程序 <br>dbgtrace.exe &gt; 和terminal server相关 <br>dcomcnfg.exe &gt; dcom配置属性 <br>dcphelp.exe &gt; ? <br>dcpromo.exe &gt; ad安装向导 <br>ddeshare.exe &gt; dde共享 <br>ddmprxy.exe &gt; <br>debug.exe &gt; 就是debug啦！ <br>dfrgfat.exe &gt; fat分区磁盘碎片整理程序 <br>dfrgntfs.exe &gt; ntfs分区磁盘碎片整理程序 <br>dfs_cmd_.exe &gt; 配置一个dfs树 <br>dfsinit.exe &gt; 分布式文件系统初始化 <br>dfssvc.exe &gt; 分布式文件系统服务器 <br>diantz.exe &gt; 制作cab文件 <br>diskperf.exe &gt; 磁盘性能计数器 <br>dllhost.exe &gt; 所有com+应用软件的主进程 <br>dllhst3g.exe &gt; <br>dmadmin.exe &gt; 磁盘管理服务 <br>dmremote.exe &gt; 磁盘管理服务的一部分 <br>dns.exe &gt; dns applications dns <br>doskey.exe &gt; 命令行创建宏 <br>dosx.exe &gt; dos扩展 <br>dplaysvr.exe &gt; 直接运行帮助 <br>drwatson.exe &gt; 华生医生错误检测 <br>drwtsn32.exe &gt; 华生医生显示和配置管理 <br>dtcsetup.exe &gt; installs mdtc <br>dvdplay.exe &gt; dvd播放 <br>dxdiag.exe &gt; direct-x诊断工具 <br>edlin.exe &gt; 命令行的文本编辑器（历史悠久啊！） <br>edlin.exe &gt; 命令行的文本编辑器（历史悠久啊！） <br>esentutl.exe &gt; ms数据库工具 <br>eudcedit.exe &gt; type造字程序 <br>eventvwr.exe &gt; 事件查看器 <br>evnt_cmd_.exe &gt; event to trap translator; configuration tool <br>evntwin.exe &gt; event to trap translator setup <br>exe2bin.exe &gt; 转换exe文件到二进制 <br>expand.exe &gt; 解压缩 <br>extrac32.exe &gt; 解cab工具 <br>fastopen.exe &gt; 快速访问在内存中的硬盘文件 <br>faxcover.exe &gt; 传真封面编辑 <br>faxqueue.exe &gt; 显示传真队列 <br>faxsend.exe &gt; 发送传真向导 <br>faxsvc.exe &gt; 启动传真服务 <br>fc.exe &gt; 比较两个文件的不同 <br>find.exe &gt; 查找文件中的文本行 <br>findstr.exe &gt; 查找文件中的行 <br>finger.exe &gt; 一个用户并显示出统计结果 <br>fixmapi.exe &gt; 修复mapi文件 <br>flattemp.exe &gt; 允许或者禁用临时文件目录 <br>fontview.exe &gt; 显示字体文件中的字体 <br>forcedos.exe &gt; forces a file to start in dos mode. 强制文件在dos模式下运行 <br>freecell.exe &gt; popular windows game 空当接龙 <br>ftp.exe &gt; file transfer protocol used to transfer files over a network conne <br>ction 就是ftp了 <br>gdi.exe &gt; graphic device interface 图形界面驱动 <br>grovel.exe &gt; <br>grpconv.exe &gt; program manager group convertor 转换程序管理员组 <br>help.exe &gt; displays help for windows 2000 commands 显示帮助 <br>hostname.exe &gt; display hostname for machine. 显示机器的hostname <br>ie4uinit.exe &gt; ie5 user install tool ie5用户安装工具 <br>ieshwiz.exe &gt; customize folder wizard 自定义文件夹向导 <br>iexpress.exe &gt; create and setup packages for install 穿件安装包 <br>iisreset.exe &gt; restart iis admin service 重启iis服务 <br>internat.exe &gt; keyboard language indicator applet 键盘语言指示器 <br>ipconfig.exe &gt; windows 2000 ip configuration. 察看ip配置 <br>ipsecmon.exe &gt; ip security monitor ip安全监视器 <br>ipxroute.exe &gt; ipx routing and source routing control program ipx路由和源路由 <br>控制程序 <br>irftp.exe &gt; setup ftp for wireless communication 无线连接 <br>ismserv.exe &gt; intersite messaging service 安装或者删除service control manage <br>r中的服务 <br>jdbgmgr.exe &gt; microsoft debugger for java 4 java4的调试器 <br>jetconv.exe &gt; convert a jet engine database 转换jet engine数据库 <br>jetpack.exe &gt; compact jet database. 压缩jet数据库 <br>jview.exe &gt; command-line loader for java java的命令行装载者 <br>krnl386.exe &gt; core component for windows 2000 2000的核心组件 <br>label.exe &gt; change label for drives 改变驱动器的卷标 <br>lcwiz.exe &gt; license compliance wizard for local or remote systems. 许可证符合 <br>向导 <br>ldifde.exe &gt; ldif cmd line manager ldif目录交换命令行管理 <br>licmgr.exe &gt; terminal server license manager 终端服务许可协议管理 <br>lights.exe &gt; display connection status lights 显示连接状况 <br>llsmgr.exe &gt; windows 2000 license manager 2000许可协议管理 <br>llssrv.exe &gt; start the license server 启动许可协议服务器 <br>lnkstub.exe &gt; <br>locator.exe &gt; rpc locator 远程定位 <br>lodctr.exe &gt; load perfmon counters 调用性能计数 <br>logoff.exe &gt; log current user off. 注销用户 <br>lpq.exe &gt; displays status of a remote lpd queue 显示远端的lpd打印队列的状态， <br>显示被送到基于unix的服务器的打印任务 <br>lpr.exe &gt; send a print job to a network printer. 重定向打印任务到网络中的打印 <br>机。通常用于unix客户打印机将打印任务发送给连接了打印设备的nt的打印机服务器。 <br><br>lsass.exe &gt; lsa executable and server dll 运行lsa和server的dll <br>lserver.exe &gt; specifies the new dns domain for the default server 指定默认se <br>rver新的dns域 <br>os2.exe &gt; an os/2 warp server (os2 /o) os/2 <br>os2srv.exe &gt; an os/2 warp server os/2 <br>os2ss.exe &gt; an os/2 warp server os/2 <br>osk.exe &gt; on screen keyboard 屏幕键盘 <br>packager.exe &gt; windows 2000 packager manager 对象包装程序 <br>pathping.exe &gt; combination of ping and tracert 包含ping和tracert的程序 <br>pax.exe &gt; is a posix program and path names used as arguments must be specif <br>ied in posix format. use "//c/users/default" instead of "c:usersdefault." <br>启动便携式存档互换 (pax) 实用程序 <br>pentnt.exe &gt; used to check the pentium for the floating point division error <br>. 检查pentium的浮点错误 <br>perfmon.exe &gt; starts windows performance monitor 性能监视器 <br>ping.exe &gt; packet internet groper 验证与远程计算机的连接 <br>posix.exe &gt; used for backward compatibility with unix 用于兼容unix <br>print.exe &gt; cmd line used to print files 打印文本文件或显示打印队列的内容。 <br>progman.exe &gt; program manager 程序管理器 <br>proquota.exe &gt; profile quota program <br>psxss.exe &gt; posix subsystem application posix子系统应用程序 <br>qappsrv.exe &gt; displays the available application terminal servers on the net <br>work <br>在网络上显示终端服务器可用的程序 <br>qprocess.exe &gt; display information about processes local or remote 在本地或远 <br>程显示进程的信息（需终端服务） <br>query.exe &gt; query termserver user process and sessions 查询进程和对话 <br>quser.exe &gt; display information about a user logged on 显示用户登陆的信息（需 <br>终端服务） <br>qwinsta.exe &gt; display information about terminal sessions. 显示终端服务的信息 <br><br>rasadmin.exe &gt; start the remote access admin service 启动远程访问服务 <br>rasautou.exe &gt; creates a ras connection 建立一个ras连接 <br>rasdial.exe &gt; dial a connection 拨号连接 <br>ras.exe &gt; starts a ras connection 运行ras连接 <br>rcp.exe &gt; copies a file from and to a rcp service. 在 windows 2000 计算机和运 <br>行远程外壳端口监控程序 rshd 的系统之间复制文件 <br>rdpclip.exe &gt; rdpclip allows you to copy and paste files between a terminal <br>session and client console session. 再终端和本地复制和粘贴文件 <br>recover.exe &gt; recovers readable information from a bad or defective disk 从坏 <br>的或有缺陷的磁盘中恢复可读取的信息。 <br>redir.exe &gt; starts the redirector service 运行重定向服务 <br>regedt32.exe &gt; 32-bit register service 32位注册服务 <br>regini.exe &gt; modify registry permissions from within a script 用脚本修改注册 <br>许可 <br>register.exe &gt; register a program so it can have special execution character <br>istics. 注册包含特殊运行字符的程序 <br>regsvc.exe &gt; <br>regsvr32.exe &gt; registers and unregister's dll's. as to how and where it regi <br>ster's them i dont know. 注册和反注册dll <br>regtrace.exe &gt; options to tune debug options for applications failing to dum <br>p trace statements <br>trace 设置 <br>regwiz.exe &gt; registration wizard 注册向导 <br>remrras.exe &gt; <br>replace.exe &gt; replace files 用源目录中的同名文件替换目标目录中的文件。 <br>reset.exe &gt; reset an active section 重置活动部分 <br>rexec.exe &gt; runs commands on remote hosts running the rexec service. 在运行 <br>rexec 服务的远程计算机上运行命令。rexec 命令在执行指定命令前，验证远程计算机 <br>上的用户名，只有安装了 tcp/ip 协议后才可以使用该命令。 <br>risetup.exe &gt; starts the remote installation service wizard. 运行远程安装向导 <br>服务 <br>route.exe &gt; display or edit the current routing tables. 控制网络路由表 <br>routemon.exe &gt; no longer supported 不再支持了！ <br>router.exe &gt; router software that runs either on a dedicated dos or on an os <br>. 检查pentium的浮点错误 <br>perfmon.exe &gt; starts windows performance monitor 性能监视器 <br>ping.exe &gt; packet internet groper 验证与远程计算机的连接 <br>posix.exe &gt; used for backward compatibility with unix 用于兼容unix <br>print.exe &gt; cmd line used to print files 打印文本文件或显示打印队列的内容。 <br>progman.exe &gt; program manager 程序管理器 <br>proquota.exe &gt; profile quota program <br>psxss.exe &gt; posix subsystem application posix子系统应用程序 <br>qappsrv.exe &gt; displays the available application terminal servers on the net <br>work <br>在网络上显示终端服务器可用的程序 <br>qprocess.exe &gt; display information about processes local or remote 在本地或远 <br>程显示进程的信息（需终端服务） <br>query.exe &gt; query termserver user process and sessions 查询进程和对话 <br>quser.exe &gt; display information about a user logged on 显示用户登陆的信息（需 <br>终端服务） <br>qwinsta.exe &gt; display information about terminal sessions. 显示终端服务的信息 <br><br>rasadmin.exe &gt; start the remote access admin service 启动远程访问服务 <br>rasautou.exe &gt; creates a ras connection 建立一个ras连接 <br>rasdial.exe &gt; dial a connection 拨号连接 <br>ras.exe &gt; starts a ras connection 运行ras连接 <br>rcp.exe &gt; copies a file from and to a rcp service. 在 windows 2000 计算机和运 <br>行远程外壳端口监控程序 rshd 的系统之间复制文件 <br>rdpclip.exe &gt; rdpclip allows you to copy and paste files between a terminal <br>session and client console session. 再终端和本地复制和粘贴文件 <br>recover.exe &gt; recovers readable information from a bad or defective disk 从坏 <br>的或有缺陷的磁盘中恢复可读取的信息。 <br>redir.exe &gt; starts the redirector service 运行重定向服务 <br>regedt32.exe &gt; 32-bit register service 32位注册服务 <br>regini.exe &gt; modify registry permissions from within a script 用脚本修改注册 <br>许可 <br>register.exe &gt; register a program so it can have special execution character <br>istics. 注册包含特殊运行字符的程序 <br>regsvc.exe &gt; <br>regsvr32.exe &gt; registers and unregister's dll's. as to how and where it regi <br>ster's them i dont know. 注册和反注册dll <br>regtrace.exe &gt; options to tune debug options for applications failing to dum <br>p trace statements <br>trace 设置 <br>regwiz.exe &gt; registration wizard 注册向导 <br>remrras.exe &gt; <br>replace.exe &gt; replace files 用源目录中的同名文件替换目标目录中的文件。 <br>reset.exe &gt; reset an active section 重置活动部分 <br>rexec.exe &gt; runs commands on remote hosts running the rexec service. 在运行 <br>rexec 服务的远程计算机上运行命令。rexec 命令在执行指定命令前，验证远程计算机 <br>上的用户名，只有安装了 tcp/ip 协议后才可以使用该命令。 <br>risetup.exe &gt; starts the remote installation service wizard. 运行远程安装向导 <br>服务 <br>route.exe &gt; display or edit the current routing tables. 控制网络路由表 <br>routemon.exe &gt; no longer supported 不再支持了！ <br>router.exe &gt; router software that runs either on a dedicated dos or on an os<!-- Added by RelatedTopic, plugin for Bo-Blog 2.0.0 --> 
<img src ="http://www.blogjava.net/emu/aggbug/122912.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/emu/" target="_blank">emu</a> 2007-06-08 18:11 <a href="http://www.blogjava.net/emu/archive/2007/06/08/122912.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用前景图实现hover切换图片</title><link>http://www.blogjava.net/emu/archive/2007/06/06/122449.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Wed, 06 Jun 2007 12:45:00 GMT</pubDate><guid>http://www.blogjava.net/emu/archive/2007/06/06/122449.html</guid><wfw:comment>http://www.blogjava.net/emu/comments/122449.html</wfw:comment><comments>http://www.blogjava.net/emu/archive/2007/06/06/122449.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/emu/comments/commentRss/122449.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/emu/services/trackbacks/122449.html</trackback:ping><description><![CDATA[现在很多网站都用背景图片来实现hover（鼠标经过）切换图片。但是IE有个该死的bug会造成超链接的背景图片有时无法cache，因此在鼠标经过超链接图片的时候就看到哗哗一大片的http下载请求<img src="http://www.blogjava.net/CuteSoft_Client/CuteEditor/images/emcrook.gif" align=absMiddle border=0>。<br><br>这不像很多网站上描述的，是由于IE的缓存策略被设置在&#8220;每次访问此页时更新&#8221;了造成的，不管IE缓存策略如何设置，都无法彻底避免这个问题。<br><br>emu试验了一下，发现用前景图也可以实现老甘（他的域名貌似已经过期，居然没续费&#8230;&#8230;）用背景图实现的类似效果，不过要多用上一些小技巧：&nbsp;
<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"><span style="COLOR: #0000ff">&lt;!</span><span style="COLOR: #ff00ff">DOCTYPE&nbsp;HTML&nbsp;PUBLIC&nbsp;"-//W3C//DTD&nbsp;HTML&nbsp;4.0&nbsp;Transitional//EN"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">HTML</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">HEAD</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">style</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5"><br>&nbsp;&nbsp;&nbsp;&nbsp;A.file</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">overflow</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">hidden</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">height</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">20px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">width</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">20px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">}</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5"><br>&nbsp;&nbsp;&nbsp;&nbsp;A.file&nbsp;IMG</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">position</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">relative</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">left</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">-130px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">top</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">-350px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">}</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5"><br>&nbsp;&nbsp;&nbsp;&nbsp;A.file:hover</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">emu</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">expression(0)</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">}</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5"><br>&nbsp;&nbsp;&nbsp;&nbsp;A.file:hover&nbsp;IMG</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">left</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">-10px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">top</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">-350px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">}</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5"><br><br>&nbsp;&nbsp;&nbsp;&nbsp;A.file2&nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">text-decoration</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">none</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">color</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">gray</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">}</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5"><br>&nbsp;&nbsp;&nbsp;&nbsp;A.file2&nbsp;span</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">overflow</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">hidden</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">height</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">20px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">width</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">20px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">}</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5"><br>&nbsp;&nbsp;&nbsp;&nbsp;A.file2&nbsp;span&nbsp;IMG</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">position</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">relative</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">left</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">-130px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">top</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">-348px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">}</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5"><br>&nbsp;&nbsp;&nbsp;&nbsp;A.file2:hover</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">color</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">red</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">height</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">20</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">}</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5"><br>&nbsp;&nbsp;&nbsp;&nbsp;A.file2:hover&nbsp;span&nbsp;IMG</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">left</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">-10px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5">top</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">-348px</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">}</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5"><br></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">style</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">HEAD</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">BODY</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;one&nbsp;single&nbsp;icon&nbsp;:&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">A&nbsp;</span><span style="COLOR: #ff0000">class</span><span style="COLOR: #0000ff">="file"</span><span style="COLOR: #ff0000">&nbsp;href</span><span style="COLOR: #0000ff">="#"</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">img&nbsp;</span><span style="COLOR: #ff0000">src</span><span style="COLOR: #0000ff">="http://www.blogjava.net/images/blogjava_net/emu/1359/o_button.gif"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">A</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">.</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">BR</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>an&nbsp;icon&nbsp;with&nbsp;text:</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">A&nbsp;</span><span style="COLOR: #ff0000">class</span><span style="COLOR: #0000ff">="file2"</span><span style="COLOR: #ff0000">&nbsp;href</span><span style="COLOR: #0000ff">="#"</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">span</span><span style="COLOR: #0000ff">&gt;&lt;</span><span style="COLOR: #800000">img&nbsp;</span><span style="COLOR: #ff0000">src</span><span style="COLOR: #0000ff">="http://www.blogjava.net/images/blogjava_net/emu/1359/o_button.gif"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">span</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">test<img src="http://www.blogjava.net/Images/dot.gif"></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">A</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">BODY</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">HTML</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br></span></div>
<p>&nbsp;不用背景图的一个代价就是，再也不能css裸奔了。twinsen一定要讲这是个人品问题了。有的时候，要对付IE这样人品不好的平台，牺牲一点人品来换取一点性能上的优化，并不是不值得考虑的吧？</p>
在Firefox下面比较郁闷，必须要display:block才能实现overflow的效果，试了下display:table等table族的样式，都没有办法真正的overflow。
<img src ="http://www.blogjava.net/emu/aggbug/122449.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/emu/" target="_blank">emu</a> 2007-06-06 20:45 <a href="http://www.blogjava.net/emu/archive/2007/06/06/122449.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>终于明白m$为什么要对xmlhttp和xmldom做那么多个版本的升级了</title><link>http://www.blogjava.net/emu/archive/2007/06/04/121979.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Mon, 04 Jun 2007 12:23:00 GMT</pubDate><guid>http://www.blogjava.net/emu/archive/2007/06/04/121979.html</guid><wfw:comment>http://www.blogjava.net/emu/comments/121979.html</wfw:comment><comments>http://www.blogjava.net/emu/archive/2007/06/04/121979.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/emu/comments/commentRss/121979.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/emu/services/trackbacks/121979.html</trackback:ping><description><![CDATA[<p>为了支持304response，测试了 MSXML2.XMLHTTP.5.0，MSXML2.XMLHTTP.4.0,MSXML2.XMLHTTP.3.0，MSXML2.XMLHTT，Microsoft.XMLHTTP，MSXML2.DOMDocument.5.0，MSXML2.DOMDocument.3.0，MSXML2.DOMDocument，Microsoft.XMLDOM 用get方式分别去拉取一个允许304response的xml资源。结果发现：<br><br>MSXML2.XMLHTTP.5.0 可以直接读取到本机cache，不发出请求。但是没有办法根据本机的cache版本的last-modified时间去要求服务器验证并返回304，只能依靠脚本来控制是否允许cache。<br><br>MSXML2.XMLHTTP.4.0,MSXML2.XMLHTTP.3.0，MSXML2.XMLHTT，Microsoft.XMLHTTP，MSXML2.DOMDocument.4.0，MSXML2.DOMDocument.3.0，MSXML2.DOMDocument，Microsoft.XMLDOM&nbsp; 这几个家伙全部根据操作系统不通，要么不支持cache，要么不发送请求，直接返回cache的版本，无法要求服务器验证并返回304。<br><br>惟一可以正确发送if-modified-since头部的控件是：<strong>MSXML2.DOMDocument.5.0</strong><br><br>MSXML2.XMLHTTP.6.0，，MSXML2.DOMDocument.6.0，MSXML3.DOMDocument等本机都不支持，无法测试。<br><br>每个版本的xmlhttp和xmldom都各有各的问题，唉，M$又让偶失望了。</p>
<img src ="http://www.blogjava.net/emu/aggbug/121979.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/emu/" target="_blank">emu</a> 2007-06-04 20:23 <a href="http://www.blogjava.net/emu/archive/2007/06/04/121979.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>经典java面试</title><link>http://www.blogjava.net/emu/archive/2007/05/29/120676.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Tue, 29 May 2007 05:51:00 GMT</pubDate><guid>http://www.blogjava.net/emu/archive/2007/05/29/120676.html</guid><wfw:comment>http://www.blogjava.net/emu/comments/120676.html</wfw:comment><comments>http://www.blogjava.net/emu/archive/2007/05/29/120676.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/emu/comments/commentRss/120676.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/emu/services/trackbacks/120676.html</trackback:ping><description><![CDATA[面试官：熟悉哪种语言<br>应聘者：Java。<br><br>面试官：知道什么叫类么<br>应聘者：我这人实在，工作努力，不知道什么叫累<br><br>面试官：知道什么是包?<br>应聘者：平常不带包 也不用公司准备了<br><br>面试官：知道什么是接口吗?<br>应聘者：我这个人工作认真。从来不找借口偷懒<br><br>面试官：知道什么是继承么<br>应聘者：我是孤儿没什么可以继承的<br><br>面试官:知道什么叫对象么？<br>应聘者:知道，不过我工作努力，上进心强，暂时还没有打算找对象。<br><br>面试官：知道多态么？<br>应聘者：知道，我很保守的。我认为让心爱的女人为了自已一时的快乐去堕胎是不道德的行为！请问这和Java有什么关系？？&nbsp; 
<img src ="http://www.blogjava.net/emu/aggbug/120676.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/emu/" target="_blank">emu</a> 2007-05-29 13:51 <a href="http://www.blogjava.net/emu/archive/2007/05/29/120676.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VeriSign:专门做信息安全的公司有这么外行的错误</title><link>http://www.blogjava.net/emu/archive/2007/05/23/119403.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Wed, 23 May 2007 07:06:00 GMT</pubDate><guid>http://www.blogjava.net/emu/archive/2007/05/23/119403.html</guid><wfw:comment>http://www.blogjava.net/emu/comments/119403.html</wfw:comment><comments>http://www.blogjava.net/emu/archive/2007/05/23/119403.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/emu/comments/commentRss/119403.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/emu/services/trackbacks/119403.html</trackback:ping><description><![CDATA[<p><br />
啥都甭说了，点下下面这个verisign的验证图标，链接到verisign的验证页面上，看看偶的blog也可以以某网站的身份通过verisign的验证，只要再把页面做的比较像某网站，出门诈骗的时候就可以扛上verisign的大旗了。<br />
<br />
<a href="https://seal.verisign.com/splash?form_file=fdf/splash.fdf&amp;dn=WWW.ALIBABA.COM&amp;lang=zh_cn" target='_blank""'><img alt="" src="https://www.tenpay.com/zft/images/verlogo.jpg" /></a>&nbsp;<br />
<br />
究起原因是VeriSign没有从http链接中获取Referer信息来判断被校验的网站，而是根据超链接里面传过来的&#8220;dn&#8221;参数来校验，正所谓的防君子不防小人。作为一个专门做信息安全的公司出这样外行的错误已经让人很无语了，被指出的时候表现出的推脱态度，更让客户寒心。<br />
<br />
根据<a href="http://blog.csdn.net/VeriSign/archive/2005/11/27/537714.aspx">http://blog.csdn.net/VeriSign/archive/2005/11/27/537714.aspx</a>&nbsp;，微软.Net战略、瑞星、盛大网络、中国万网、阿里巴巴、新浪、搜狐、腾讯、上海电信、华为、清华同方、北大方正、厦新电子、TCL、中国工商银行、招商银行、昆仑证券、中国民航等都使用了verisign的服务。<br />
</p>
<p>此外根据 <a href="http://tag.csdn.net/Article/c0a75980-452e-4eaa-ac8e-467c5fc9966b.html">http://tag.csdn.net/Article/c0a75980-452e-4eaa-ac8e-467c5fc9966b.html</a>&nbsp;VeriSign在中国的服务造成的安全隐甚至可能比它解决的多：</p>
<p><span style="background-color: #ffcc99">Verisign公司在中国设立的J根镜像服务器，中方没有丝毫的管理权限，对于服务器中的日志文件、程序文件，中方根本无法接触，全部由美国公司直接管理。然而，真相却与此大相径庭：这个由美国商业公司Verisign所带来的根域名镜像服务器，对中国访问境外域名提速有限，对中国互联网安全的加强作用微乎其微，反倒为美国公司监控中国互联网的访问数据提供了便利。互联网安全专家指出："一旦发生国际冲突，境外机构掐断中国的根服务器镜像和COM域名镜像，所有使用COM域名的网站都将无法访问，中国的互联网将陷入瘫痪，后果不堪设想。<br />
</span><br />
寒一个。 </p>
<img src ="http://www.blogjava.net/emu/aggbug/119403.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/emu/" target="_blank">emu</a> 2007-05-23 15:06 <a href="http://www.blogjava.net/emu/archive/2007/05/23/119403.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>office2007带的脚本调试器升级了，不过掉东西了</title><link>http://www.blogjava.net/emu/archive/2007/05/22/119064.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Tue, 22 May 2007 02:37:00 GMT</pubDate><guid>http://www.blogjava.net/emu/archive/2007/05/22/119064.html</guid><wfw:comment>http://www.blogjava.net/emu/comments/119064.html</wfw:comment><comments>http://www.blogjava.net/emu/archive/2007/05/22/119064.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/emu/comments/commentRss/119064.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/emu/services/trackbacks/119064.html</trackback:ping><description><![CDATA[装office2007的时候顺带装了其中带的脚本调试器，发现这个版本的脚本调试器还是有个好处的，如果脚本中有多句代码被挤到一行运行的时候，以前版本的office带的调试器都只能一并运行完，这个版本终于可以像vs的调试器一样逐句跟踪了。虽然不能在一行中间打断点，不过可以在一行上打断点后再用&#8220;运行到光标处&#8221;来代替。<br>&nbsp;<br>可惜在调试网页的时候发现M$搞掉东西了。<br><br>看看2003板的调试菜单：<br><img height=453 alt="" src="http://www.blogjava.net/images/blogjava_net/emu/2003debugger.GIF" width=566 border=0><br><br>再看看2007版的：<br><img height=360 src="http://www.blogjava.net/images/blogjava_net/emu/2007debugger.GIF" width=544 border=0><br><br>少了很不少东西，包括最重要的&#8220;监视窗口&#8221;。简直不能想像没有监视窗口怎么工作。还好入口没了功能还在，可以从另一个地方找到入口，操作是：在调试过程中选择添加&#8220;快速监视&#8221;，然后在&#8220;快速监视&#8221;里面找到&#8220;添加监视&#8221;。 <br>
<img src ="http://www.blogjava.net/emu/aggbug/119064.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/emu/" target="_blank">emu</a> 2007-05-22 10:37 <a href="http://www.blogjava.net/emu/archive/2007/05/22/119064.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>json的例子</title><link>http://www.blogjava.net/emu/archive/2007/05/14/117416.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Mon, 14 May 2007 11:37:00 GMT</pubDate><guid>http://www.blogjava.net/emu/archive/2007/05/14/117416.html</guid><wfw:comment>http://www.blogjava.net/emu/comments/117416.html</wfw:comment><comments>http://www.blogjava.net/emu/archive/2007/05/14/117416.html#Feedback</comments><slash:comments>19</slash:comments><wfw:commentRss>http://www.blogjava.net/emu/comments/commentRss/117416.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/emu/services/trackbacks/117416.html</trackback:ping><description><![CDATA[<p><br />
本来一直觉得这么基础的功能是没有什么好拿出来讲的，今天和网友聊天发现，由于缺乏对json的理解，很多人都还在继续带着自己的项目往ajax的方向进军，而完全不知道有一个好得多的替代品。所以写下这么个demo给大家参考：<br />
</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"><span style="color: #0000ff">&lt;</span><span style="color: #800000">HTML</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">HEAD</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">title</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">异步json例子</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">title</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">SCRIPT&nbsp;</span><span style="color: #ff0000">LANGUAGE</span><span style="color: #0000ff">="JavaScript"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000; background-color: #f5f5f5"><br />
</span><span style="color: #0000ff; background-color: #f5f5f5">function</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;test(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">var</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;s&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;document.createElement(</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">SCRIPT</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;s.id</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">cgi_emotion_list</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;document.getElementsByTagName(</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">HEAD</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">)[</span><span style="color: #000000; background-color: #f5f5f5">0</span><span style="color: #000000; background-color: #f5f5f5">].appendChild(s);<br />
&nbsp;&nbsp;&nbsp;&nbsp;s.src</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">http://g2.qzone.qq.com/fcg-bin/cgi_emotion_list.fcg?uin=123456</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;test</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #0000ff; background-color: #f5f5f5">function</span><span style="color: #000000; background-color: #f5f5f5">(){};&nbsp;<br />
}<br />
</span><span style="color: #0000ff; background-color: #f5f5f5">function</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;visitCountCallBack(data){<br />
&nbsp;&nbsp;&nbsp;&nbsp;document.getElementsByTagName(</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">HEAD</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">)[</span><span style="color: #000000; background-color: #f5f5f5">0</span><span style="color: #000000; background-color: #f5f5f5">].removeChild(document.get