ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>色婷婷综合久久久,在线视频三级,国产99久久久国产精品http://www.aygfsteel.com/emu/category/31708.htmlzh-cnWed, 11 Jan 2012 23:55:42 GMTWed, 11 Jan 2012 23:55:42 GMT60学习(f¨¤n)äº?ji¨£n)一下条件注é‡?/title><link>http://www.aygfsteel.com/emu/archive/2012/01/11/368358.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Wed, 11 Jan 2012 11:51:00 GMT</pubDate><guid>http://www.aygfsteel.com/emu/archive/2012/01/11/368358.html</guid><wfw:comment>http://www.aygfsteel.com/emu/comments/368358.html</wfw:comment><comments>http://www.aygfsteel.com/emu/archive/2012/01/11/368358.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/emu/comments/commentRss/368358.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/emu/services/trackbacks/368358.html</trackback:ping><description><![CDATA[以前只知道怎么让一ŒDµä»£ç ?#8220;仅对IE有效”åQŒä¸€ç›´æ²¡ç ”ç©¶˜q‡æ€Žä¹ˆ“仅对IE无效”或者说“仅对非IE有效”åQŒä»Šå¤©ç®—搞懂äº?ji¨£n)ï¼?x¨¬)<br /><br /><div style="font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; "><!--</span><span style="color: #008000; ">[if IE]> IE才看得到åQŒéžIE看不åˆ?nbsp;<![endif]</span><span style="color: #008000; ">--></span><span style="color: #000000; "><br /></span><span style="color: #008000; "><!--</span><span style="color: #008000; ">[if !(IE)]><!</span><span style="color: #008000; ">--></span><span style="color: #000000; "> IE看不刎ͼŒéžIE才看得到 </span><span style="color: #008000; "><!--</span><span style="color: #008000; "><![endif]</span><span style="color: #008000; ">--></span><span style="color: #000000; "><br /></span></div><img src ="http://www.aygfsteel.com/emu/aggbug/368358.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/emu/" target="_blank">emu</a> 2012-01-11 19:51 <a href="http://www.aygfsteel.com/emu/archive/2012/01/11/368358.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IE˜q™ä¸ªbug真是å¼Þqˆ†äº?/title><link>http://www.aygfsteel.com/emu/archive/2011/08/08/355989.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Mon, 08 Aug 2011 01:54:00 GMT</pubDate><guid>http://www.aygfsteel.com/emu/archive/2011/08/08/355989.html</guid><wfw:comment>http://www.aygfsteel.com/emu/comments/355989.html</wfw:comment><comments>http://www.aygfsteel.com/emu/archive/2011/08/08/355989.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.aygfsteel.com/emu/comments/commentRss/355989.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/emu/services/trackbacks/355989.html</trackback:ping><description><![CDATA[ <div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">HTML</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">BODY</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">SCRIPT </span><span style="color: rgb(255, 0, 0);">LANGUAGE</span><span style="color: rgb(0, 0, 255);">="JavaScript"</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);"><br /></span><span style="color: rgb(0, 0, 255); background-color: rgb(245, 245, 245);">var</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);"> a</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">=</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">"</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);"><!--</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">"</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">;<br />alert(a);<br /></span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">SCRIPT</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 0);"><!--</span><span style="color: rgb(0, 128, 0);">  </span><span style="color: rgb(0, 128, 0);">--></span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">BODY</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">HTML</span><span style="color: rgb(0, 0, 255);">></span></div><br />˜q™æ ·ä¸€ŒDµä»£ç åœ¨IE下面居然语法解析错误åQå®žåœ¨æ˜¯å¼±åˆ°ä¸çŸ¥é“怎么说好äº?ji¨£n)ã€?br />当然åQŒä¸‹é¢è¿™ä¸€ŒDµä»£ç ï¼Œä¹Ÿä¸å‡ºæ„å¤–的在IE下挂掉了(ji¨£n)<br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">HTML</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">BODY</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">SCRIPT </span><span style="color: rgb(255, 0, 0);">LANGUAGE</span><span style="color: rgb(0, 0, 255);">="JavaScript"</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);"><br /></span><span style="color: rgb(0, 0, 255); background-color: rgb(245, 245, 245);">var</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);"> a</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">=</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">"</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);"><!--</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">"</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">;<br />alert(a);<br /></span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">SCRIPT</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">SCRIPT </span><span style="color: rgb(255, 0, 0);">LANGUAGE</span><span style="color: rgb(0, 0, 255);">="JavaScript"</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);"><br /></span><span style="color: rgb(0, 0, 255); background-color: rgb(245, 245, 245);">var</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);"> a</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">=</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">"</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">--></span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">"</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">;<br />alert(a);<br /></span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">SCRIPT</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">BODY</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">HTML</span><span style="color: rgb(0, 0, 255);">></span></div><br /><br />¾lˆäºŽæ˜Žç™½ä¸ºå•¥Editplus里面插入script标记的时候æ€ÀL˜¯å¸®æˆ‘加上 <!-- å’?//-->äº?ji¨£n),˜q™ä¿©è´§è¿˜çœŸä¸èƒ½éšä¾¿åŽ»æŽ‰ã€?br /><div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">HTML</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">BODY</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">SCRIPT </span><span style="color: rgb(255, 0, 0);">LANGUAGE</span><span style="color: rgb(0, 0, 255);">="JavaScript"</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);"><br /></span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);"><!--</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);"><br /></span><span style="color: rgb(0, 0, 255); background-color: rgb(245, 245, 245);">var</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);"> a</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">=</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">"</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);"><!--</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">"</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">;<br />alert(a);<br /></span><span style="color: rgb(0, 128, 0); background-color: rgb(245, 245, 245);">//</span><span style="color: rgb(0, 128, 0); background-color: rgb(245, 245, 245);">--></span><span style="color: rgb(0, 128, 0); background-color: rgb(245, 245, 245);"><br /></span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">SCRIPT</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 0);"><!--</span><span style="color: rgb(0, 128, 0);">  </span><span style="color: rgb(0, 128, 0);">--></span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">BODY</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">HTML</span><span style="color: rgb(0, 0, 255);">></span></div><br />˜q™ä¸ªž®±æ²¡äº‹ã€?br /> <img src ="http://www.aygfsteel.com/emu/aggbug/355989.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/emu/" target="_blank">emu</a> 2011-08-08 09:54 <a href="http://www.aygfsteel.com/emu/archive/2011/08/08/355989.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>脚本¾l‘定回调增强版:(x¨¬)备用url可以å¤ÞpÓ|重试http://www.aygfsteel.com/emu/archive/2011/07/19/354660.htmlemuemuTue, 19 Jul 2011 12:50:00 GMThttp://www.aygfsteel.com/emu/archive/2011/07/19/354660.htmlhttp://www.aygfsteel.com/emu/comments/354660.htmlhttp://www.aygfsteel.com/emu/archive/2011/07/19/354660.html#Feedback0http://www.aygfsteel.com/emu/comments/commentRss/354660.htmlhttp://www.aygfsteel.com/emu/services/trackbacks/354660.html《脚本绑定回调ã€?/a>  ˜q›è¡Œäº?ji¨£n)一些有­‘£çš„ž®è¯•åQŒè¿™äº›å°è¯•现在在一些web产品中已¾låº”用了(ji¨£n)好几òq´äº†(ji¨£n)。这两年随着‹¹·å¤–用户的增多,用户情况的复杂化åQŒæˆ‘们的服务部çÖv也开始复杂化äº?ji¨£n),有一些用戯‚®¿é—®A域名å¤ÞpÓ|åQŒè®¿é—®B域名ž®±å¯èƒ½å¾ˆç•…顺åQŒå¦ä¸€äº›ç”¨æˆ·åˆ™ç›¸åã€‚而且很多时候这òq¶ä¸æ˜¯gslb˜q™æ ·çš„调度可以及(qi¨¢ng)时检‹¹‹åˆ°å’Œå¿«é€Ÿè°ƒæ•´çš„åQŒä¸ç”±å¾—æƒÏx(ch¨®ng)ƒ³åQŒèƒ½ä¸èƒ½˜q›è¡Œå¤ÞpÓ|重试呢?其实也很½Ž€å•把4òq´å‰çš„代码改äº?ji¨£n)一改,做了(ji¨£n)一个原理性的实验åQ?br />
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
var isIE = !!window.ActiveXObject;
var useFragment=false;
function loadjs(url,callback,errcallback,url2,url3){
    
if(isIE){
        
if(useFragment){
           
var df = document.createDocumentFragment();    
            df.visitCountCallBack 
= function(data){
                s.onreadystatechange
=null;
                df
=null;
                callback(data);
            }
            
var s = df.createElement("SCRIPT");
            df.appendChild(s);
            s.onreadystatechange
=function (ec,cb,u2,u3){
                
return function(){
                    
if(s.readyState=="loaded") {
                        s.onreadystatechange
=null;
                        df
=null;
                        
if(!u2){
                            ec();
                        }
else{
                            loadjs(u2,cb,ec,u3)
                        }
                    }
                }
            }(errcallback,callback,url2,url3)
            s.src 
= url;
        }
else{
            
var i=new ActiveXObject("htmlfile");
            i.open();
            i.parentWindow.visitCountCallBack
=function(i){
                
return function(d){
                    i.parentWindow.errcallback
=null;
                    i
=null;
                    callback(d);
                }
            }(i);
            i.parentWindow.errcallback
=function(ec,cb,u2,u3){
                
return function(){
                    i.parentWindow.errcallback
=null;
                    i
=null;
                    
if(!u2){
                        ec();
                    }
else{
                        loadjs(u2,cb,ec,u3)
                    }
                }
            }(errcallback,callback,url2,url3)
            i.write(
"<script src=\""+url+"\"><\/script><script defer>setTimeout(\"errcallback()\",0)<\/script>")
            
if(i)i.close();//如果数据被cacheåQŒè¿è¡Œåˆ°˜q™ä¸€è¡Œçš„æ—¶å€™æœ‰å¯èƒ½å›žè°ƒå·²ç»å®Œæˆ,½H—口已经关闭ã€?/span>
        }
    }
else{
        
var i = document.createElement("IFRAME");    
        i.style.display
="none";
        i.callback
=function(o){
            callback(o);
            i.contentWindow.callback
=null;
            i.src
="about:blank"
            i.parentNode.removeChild(i);
            i 
= null;
        };
        i.errcallback 
= function(ec,cb,u2,u3){
            
return function(){
                    
if(!u2){
                        ec();
                    }
else{
                        loadjs(u2,cb,ec,u3)
                    }
            }
        }(errcallback,callback,url2,url3);
        i.src
="javascript:\"<script>function visitCountCallBack(data){frameElement.callback(data)};<\/script><script src='"+url+"'><\/script><script>setTimeout('frameElement.errcallback()',0)<\/script>\"";
        document.body.appendChild(i);
    }
}

function init(){
    
var spans = document.getElementsByTagName("span");
    
for(var i=0;i<spans.length;i++){
        
var id = spans[i].id;
        
var url = "http://g.qzone.qq.com/fcg-bin/cgi_emotion_list.fcg?uin=a"+id;//故意刉™€ é”™è¯¯å¼•发重è¯?/span>
        var url2 = "http://g.qzone.qq.com/fcg-bin/cgi_emotion_list.fcg?uin=b"+id;//故意再次刉™€ é”™è¯¯å¼•发重è¯?/span>
        var url3 = "http://g.qzone.qq.com/fcg-bin/cgi_emotion_list.fcg?uin="+id;
        
var callback = function(id){ return function(data){
            document.getElementById(id).innerHTML 
= data.visitcount;
            }
        }(id);
        
var errcallback = function(id){ return function(){
            document.getElementById(id).innerHTML 
= "无法˜qžæŽ¥åˆ°æœåС噍";
            }
        }(id);
        loadjs(url,callback,errcallback,url2,url3);
    }
}
</SCRIPT>
</HEAD>
<BODY onload="init()">
12345(非法帐号)的访问量åQ?/span><span id="12345"></span><BR>
123456 çš„访问量åQ?/span><span id="123456"></span><BR>
20050606 çš„访问量åQ?/span><span id="20050606"></span><BR>
</BODY>
</HTML>

故意在前两次è¯äh±‚中制造了(ji¨£n)错误åQŒå°è¯•到½W¬ä¸‰ä¸ªurl的时候才成功ã€?img src ="http://www.aygfsteel.com/emu/aggbug/354660.html" width = "1" height = "1" />

]]>
把csså’Œjs写到一个文仉™‡Œé¢çš„增强ç‰?/title><link>http://www.aygfsteel.com/emu/archive/2011/07/19/354642.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Tue, 19 Jul 2011 08:12:00 GMT</pubDate><guid>http://www.aygfsteel.com/emu/archive/2011/07/19/354642.html</guid><wfw:comment>http://www.aygfsteel.com/emu/comments/354642.html</wfw:comment><comments>http://www.aygfsteel.com/emu/archive/2011/07/19/354642.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/emu/comments/commentRss/354642.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/emu/services/trackbacks/354642.html</trackback:ping><description><![CDATA[ <a href="http://www.aygfsteel.com/emu/archive/2011/07/19/354642.html"><font color="#336699">原文链接</font></a><br /> <br /> 最早的æ–ÒŽ(gu¨©)³•发表在msdn上:(x¨¬)<a ><br /> http://blogs.msdn.com/b/shivap/archive/2007/05/01/combine-css-with-js-and-make-it-into-a-single-download.aspx</a><br /> <br /> 代码是像˜q™æ ·å­çš„åQ?br /> <div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: rgb(0, 0, 0);"><!--</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 128, 0);">/*</span><span style="color: rgb(0, 128, 0);"><br /> function test(){}<br /> <!-- </span><span style="color: rgb(0, 128, 0);">*/</span><span style="color: rgb(0, 0, 0);"><br /> </span><span style="color: rgb(0, 0, 0);"><!--</span><span style="color: rgb(0, 0, 0);"> body { background</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">color: Aqua; }</span></div> <br /> 可是˜q™æ ·cssž®±å¿…™å»è¦å…¨éƒ¨æ”‘Öˆ°ä¸€è¡Œé‡Œé¢äº†(ji¨£n)。我做了(ji¨£n)一点点ž®ä¿®æ”ÒŽ(gu¨©)¥è¯•å›¾å¯ä»¥åˆåÆˆå¤šè¡Œçš„css或者多个css的内容进去:(x¨¬)<br /> <div style="padding: 4px 5px 4px 4px; border: 1px solid rgb(204, 204, 204); width: 98%; font-size: 13px; word-break: break-all; background-color: rgb(238, 238, 238);"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: rgb(0, 0, 0);"><!--</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 128, 0);">/*</span><span style="color: rgb(0, 128, 0);"><br /> setTimeout('document.body.innerHTML="<span>Hello World</span>"',0);<br /> <!-- </span><span style="color: rgb(0, 128, 0);">*/</span><span style="color: rgb(0, 0, 0);"><br /> </span><span style="color: rgb(0, 0, 0);"><!--</span><span style="color: rgb(0, 0, 0);"> emu{emu:</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">\<br /> /*</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">}<br /> span { background</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">color: #f00; }<br /> span { color: #0ff; }<br /> </span><span style="color: rgb(0, 128, 0);">/*</span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(0, 128, 0);">*/</span></div> <br /> ˜q™æ ·å¯¹äºŽcss来说åQŒåªæ˜¯å¤šäº?ji¨£n)一个无用的规则 <font color="red">emu:{emu:"/*"}</font><br /> 而对于js来说åQŒå¤šäº?ji¨£n)ä¸€è¡Œå†…å®¹äØ“(f¨´) <font color="red"><!-- emu{emu:"\</font> 的注释,以及(qi¨¢ng)一大块/*开始的åQŒåŒ…含了(ji¨£n)所有css内容的注释ã€?br /> IE9、Firefox5、safari5、chrome14下通过。没装operaåQŒä¸æ˜¯å¤ªå…›_¿ƒ(j¨©)˜q™è´§ã€?br />   <img src ="http://www.aygfsteel.com/emu/aggbug/354642.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/emu/" target="_blank">emu</a> 2011-07-19 16:12 <a href="http://www.aygfsteel.com/emu/archive/2011/07/19/354642.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>怎么知道™åµé¢è¢«æ”¾å¤§ç¾ƒ?y¨­u)®äº?ji¨£n)http://www.aygfsteel.com/emu/archive/2011/06/23/352894.htmlemuemuThu, 23 Jun 2011 11:20:00 GMThttp://www.aygfsteel.com/emu/archive/2011/06/23/352894.htmlhttp://www.aygfsteel.com/emu/comments/352894.htmlhttp://www.aygfsteel.com/emu/archive/2011/06/23/352894.html#Feedback5http://www.aygfsteel.com/emu/comments/commentRss/352894.htmlhttp://www.aygfsteel.com/emu/services/trackbacks/352894.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<BODY>
<div id="output"></div>
<SCRIPT LANGUAGE="JavaScript">
<!--
(
function(){
    window.onresize
=testZoom;
    
var _screenOriginalWidth=window.screen.width
    
function testZoom(){
        
if(window.screen.width<_screenOriginalWidth){
            document.getElementById(
"output").innerHTML="<br>攑֤§å•?/span>";
        }
        
if(window.screen.width>_screenOriginalWidth){
            document.getElementById(
"output").innerHTML="<br>¾~©å°å•?/span>";
        }
        _screenOriginalWidth
=window.screen.width
    }
})()
//-->
</SCRIPT>
</BODY>
</HTML>


]]>
如何分析js代码的运行èµ\径?http://www.aygfsteel.com/emu/archive/2011/06/16/352445.htmlemuemuThu, 16 Jun 2011 09:38:00 GMThttp://www.aygfsteel.com/emu/archive/2011/06/16/352445.htmlhttp://www.aygfsteel.com/emu/comments/352445.htmlhttp://www.aygfsteel.com/emu/archive/2011/06/16/352445.html#Feedback0http://www.aygfsteel.com/emu/comments/commentRss/352445.htmlhttp://www.aygfsteel.com/emu/services/trackbacks/352445.html1 如果script是用src引入的,˜q˜è¦ç”¨xhr或者json方式来获得textåQŒå¯èƒ½è¿˜éœ€è¦æ­ä¸ªåŽåîC»£ç†ã€?br />2 如果function是在命名½Iºé—´çš„,可以直接递归for in命名½Iºé—´åŽÀLŒ–里面的public函数出来ã€?br />3 private的函数我看就½Ž—了(ji¨£n)åQŒç§æœ‰å‡½æ•°åº”该对自己负责åQŒæˆ‘们没有必要非åŽÀL•´äººå®¶çš„私货ã€?br />

<HTML>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
function a(x,y,z){return b(x,y)*c(z)};
function b(x,y){return c(x)*c(y)};
function c(x){return x+x};


setTimeout(
"alert(a(1,2,3))",0)
//-->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
<!--
(
function (){
    window._log
=[];
    
function obj2str(o){
        
var r = [];
        
if(typeof o =="string"return "\""+o.replace(/([\'\"\\])/g,"\\$1").replace(/(\n)/g,"\\n").replace(/(\r)/g,"\\r").replace(/(\t)/g,"\\t")+"\"";
        if(typeof o ==
"undefined") return "undefined";
        if(typeof o == 
"object"){
            if(o===null) return 
"null";
            else if(!o.length){
                for(var i in o)
                    r.push(i+
":"+obj2str(o[i]))
                r=
"{"+r.join()+"}"
            }else{
                for(var i =0;i<o.length;i++)
                    r.push(obj2str(o[i]))
                r=
"["+r.join()+"]"
            }
            return r;
        }
        return o.toString();
    }

    function log(s){
        _log.push(s);
    }
    var s=document.getElementsByTagName(
"SCRIPT")[0].text;
    var r=/function (\w+)\(/g;
    var fns=s.match(r);
    for(var i=0;i<fns.length;i++){
        fn=fns[i].replace(r,
"$1")
        if (typeof window[fn]==
"function"){
            window[fn]=(function(org,fn){
                return function(){
                    log(
"˜q›å…¥:"+fn+"\n调用参数åQ?/span>"+obj2str(arguments));
                    var r=org.apply(null,arguments);
                    log(
"退å‡?"+fn+"\n˜q”回å€?/span>"+obj2str(r));
                    return r
                }
            })(window[fn],fn)
        }
    }
})()
setTimeout(
"alert(window._log.join('\\n\\n'))",100)
//-->
</SCRIPT>
</BODY>
</HTML>


]]>
å¼Þp§†ç”¨æˆ·çœ‹åˆ°æˆ‘们的页面是像这æ ïL(f¨¥ng)š„http://www.aygfsteel.com/emu/archive/2010/06/22/324139.htmlemuemuTue, 22 Jun 2010 03:33:00 GMThttp://www.aygfsteel.com/emu/archive/2010/06/22/324139.htmlhttp://www.aygfsteel.com/emu/comments/324139.htmlhttp://www.aygfsteel.com/emu/archive/2010/06/22/324139.html#Feedback4http://www.aygfsteel.com/emu/comments/commentRss/324139.htmlhttp://www.aygfsteel.com/emu/services/trackbacks/324139.html看了(ji¨£n)è‹ÒŽ(gu¨©)žœWWDC的无障碍设计部分åQŒä»–们的开发äh员就是这æ äh¥ä½“验å¼Þp§†ç”¨æˆ·çš„äñ”品体验的åQŒæˆ‘们也来体验一下别人的痛苦吧。我们的™åµé¢æœ‰åŠžæ³•è®¾è®¡å¾—è®©è¿™¾Ÿ¤äh也感受好一点吗åQŒå°±åƒè‹¹æžœæ­£åœ¨åšçš?script>with(document.body.style)if("\v"=="v")filter="blur(add)";else textShadow="black 0 0 3px";



]]>
不可忽略çš?cache-read time(¾~“å­˜è¯Õd–延迟旉™—´) 瓉™¢ˆhttp://www.aygfsteel.com/emu/archive/2010/04/09/317898.htmlemuemuFri, 09 Apr 2010 14:58:00 GMThttp://www.aygfsteel.com/emu/archive/2010/04/09/317898.htmlhttp://www.aygfsteel.com/emu/comments/317898.htmlhttp://www.aygfsteel.com/emu/archive/2010/04/09/317898.html#Feedback2http://www.aygfsteel.com/emu/comments/commentRss/317898.htmlhttp://www.aygfsteel.com/emu/services/trackbacks/317898.htmlž®å°å’Œrizenž®è¯•˜q‡å®šä½ä¸€ä¸ªcache-read耗费旉™—´éšæœºçš„变得很长的诡异问题åQŒæŽ’除过äº?ji¨£n)文件内宏V€æ–‡ä»¶ç±»åž‹ã€æ–‡ä»¶å¤´½{‰å„¿Uåª„(ji¨£ng)响,但是很遗憾没有最¾lˆç»“论。emu那天看知道这个事情后猜测åQŒä¼š(x¨¬)不会(x¨¬)ž®±æ˜¯å¾ˆç®€å•的多个cache-readæ“ä½œç›æ€º’ç«žäº‰å µå¡žå¯ÆD‡´çš„å‘¢åQŸè¿™ä¸ªå…¶å®žå¾ˆå®ÒŽ(gu¨©)˜“验证äº?ji¨£n)。写äº?ji¨£n)一个简单的ž®é¡µé¢åº”用了(ji¨£n)一¾l„图片,然后抓包重新打开™åµé¢åQŒå°±çœ‹åˆ°ä¸‹é¢˜q™ä¸ªå›¾äº†(ji¨£n)åQ?/p>




½W¬ä¸€ä¸ªcache-read耗时0.2¿U’多åQŒç¬¬äºŒä¸ªåQˆåÆˆè¡Œå‘èµøP¼‰(j¨ª)0.3¿U’多åQŒç¬¬ä¸‰ä¸ª0.4¿U’多åQŒæŽ¥ä¸‹åŽ»æ¯ä¸ªå›„¡‰‡çš„耗时差不多都比上一个慢0.1¿U’以上。结论很明显äº?ji¨£n),òq¶å‘çš„cache-readä¼?x¨¬)相互堵塞,非常严重的相互堵塞ã€?br /> 以上抓包是在IE6下完成的。在IE7å’ŒIE8下面情况要好一些,但是问题性质是相同的ã€?br /> 很多我们曄¡»ä»¥äØ“(f¨´)cache的非常好速度应该非常快的web应用åQŒä¹Ÿè®¸å…¶å®žå­˜åœ¨ç€ä¸¥é‡çš„cache-read速度瓉™¢ˆè€Œä¸ä¸ºæˆ‘们所知ã€?br /> ¾|‘上没有搜到太多关于cache-readæ—‰™—´çš„æ–‡ç« ï¼Œçœ‹æ¥çœŸæ˜¯ä¸ªç›²ç‚V€?br />
解决æ–ÒŽ(gu¨©)¡ˆå’Œç½‘¾lœåšg˜qŸæ˜¯¾cÖM¼¼çš„,减少cache-readè¯äh±‚åQŒæŠŠå¤šä¸ªž®æ–‡ä»¶å’Œž®å›¾ç‰‡åˆòq¶æˆå¤§æ–‡ä»¶å’Œå¤§å›¾ç‰‡ï¼ˆè€Œä¸è¦ä¸€åŽ¢æƒ…æ„¿çš„ä»¥äØ“(f¨´)ž®æ–‡ä»¶è¢«‹¹è§ˆå™¨ç¼“存后ä¼?x¨¬)有很好的速度表现åQ‰ï¼ŒåŒºåˆ†ä¼˜å…ˆ¾U§å¼•用资源。还有一个可能有用的åQšäº¤é”™çš„发è“v不可避免的异步动态网¾lœè¯·æ±‚å’Œcache-readè¯äh±‚åQŒè®©¾|‘络延迟和cache-read延迟旉™—´å åŠ åœ¨ä¸€èµøP¼Œæ¥èŠ‚çœç”¨æˆ·å®žé™…è¦½{‰å¾…的时间ã€?/p>

]]>
IE6不能用gzip压羃脚本åQŒä¸€ä¸ªæµæ¯’甚òq¿çš„谣言http://www.aygfsteel.com/emu/archive/2010/03/31/317027.htmlemuemuWed, 31 Mar 2010 03:37:00 GMThttp://www.aygfsteel.com/emu/archive/2010/03/31/317027.htmlhttp://www.aygfsteel.com/emu/comments/317027.htmlhttp://www.aygfsteel.com/emu/archive/2010/03/31/317027.html#Feedback0http://www.aygfsteel.com/emu/comments/commentRss/317027.htmlhttp://www.aygfsteel.com/emu/services/trackbacks/317027.html  

文章作者说“跑到微èÊY那一æŸ?¾l™çš„½{”复让我吐血:Do not enable HTTP compression for the script files 请不要对脚本文äšg开启http压羃 只好在服务器端增加对‹¹è§ˆå™¨çš„识别代码,如果是ie6,ž®×ƒ¸åŽ‹ç¾ƒè„šæœ¬æ–‡äšgäº?虽然脚本能运行了(ji¨£n),可是用户体验ž®?..  å“?我恨ie 6”

唉,说啥好呢åQ?/p>

真相是,微èÊY的答å¤?http://support.microsoft.com/kb/327286/en-us?sid=64&spid=2073) 里面提供äº?ji¨£n)两个解å†Ïx(ch¨®ng)–¹æ¡ˆï¼Œå…¶ä¸­½W¬ä¸€ä¸ªæ˜q°çš„½Eå¾®å•°å—¦äº?ji¨£n)一点,被这个作者直接忽略掉äº?ji¨£n)。第二个解决æ–ÒŽ(gu¨©)¡ˆåªæœ‰ä¸€å¥è¯åQŒæ˜¾ç„¶æ›´å®ÒŽ(gu¨©)˜“被读懂:(x¨¬)

To work around this problem, you can do either of the following:

If you use a Cache-Control: no-cache HTTP header to prevent the files from caching, remove that header. In some situations, if you substitute an Expires HTTP header, you do not trigger the problem.

-or-

Do not enable HTTP compression for the script files.


Emu虽然英文比较烂,四çñ”老考不˜q‡ï¼Œä¸ÞZº†(ji¨£n)方便大家˜q˜æ˜¯¾˜»è¯‘一下吧åQŒä¸ç„¶åˆè¯¥æœ‰äºø™¯»ä¸ä¸‹åŽÖMº†(ji¨£n)ã€?br />

  要规避此问题åQŒä½ å¯ä»¥åœ¨ä¸‹é¢ä¸¤ä¸ªæ–¹æ¡ˆä¸­é€‰ä¸€¿Uï¼š(x¨¬)

    1.如果你ä‹É用了(ji¨£n)Cache-Control: no-cache ˜q™ä¸ª HTTP 头来防止文äšg被缓存,¿U»é™¤˜q™ä¸ªå¤´å°±å¥½äº†(ji¨£n)。有些情况下åQŒå¦‚果你用一个Expires头来代替åQˆå‰é¢è¿™ä¸ªå‡ºé—®é¢˜çš„httpå¤ß_(d¨¢)¼‰(j¨ª)åQŒï¼ˆä¹Ÿå¯ä»¥è“v到相同作用而)(j¨ª)不会(x¨¬)触发˜q™ä¸ªé—®é¢˜ã€?/em>

    或è€?/p>     2.不要压羃脚本文äšgã€?/em>


个äh廸™®®˜q˜æ˜¯è€ƒè™‘½W¬ä¸€æ–ÒŽ(gu¨©)¡ˆã€?br />
æœ¬æ–‡ä½œäØ“(f¨´)前面一½‹‡ç¿»è¯‘文章ã€?a href="http://www.aygfsteel.com/emu/archive/2010/02/18/313398.html">压羃åQŒè®©¾|‘络更快》的补充ã€?

]]>
[¾˜»è¯‘]加速JavascriptåQšDOM操作优化http://www.aygfsteel.com/emu/archive/2010/03/01/314185.htmlemuemuMon, 01 Mar 2010 09:20:00 GMThttp://www.aygfsteel.com/emu/archive/2010/03/01/314185.htmlhttp://www.aygfsteel.com/emu/comments/314185.htmlhttp://www.aygfsteel.com/emu/archive/2010/03/01/314185.html#Feedback4http://www.aygfsteel.com/emu/comments/commentRss/314185.htmlhttp://www.aygfsteel.com/emu/services/trackbacks/314185.html原文åQšã€ŠSpeeding up JavaScript: Working with the DOMã€?/p>

作者:(x¨¬) KeeKim Heng, Google Web Developer

在我们开发互联网富应用(RIAåQ‰æ—¶åQŒæˆ‘们经常写一些javascript脚本来修æ”ÒŽ(gu¨©)ˆ–者增加页面元素,˜q™äº›å·¥ä½œæœ€¾lˆæ˜¯DOM——或者说文档对象模型——来完成的,而我们的实现方式ä¼?x¨¬)åª?ji¨£ng)响到应用的响应速度ã€?/p>

DOM操作ä¼?x¨¬)导致浏览器重解æ?reflow)åQŒè¿™æ˜¯æµè§ˆå™¨çš„一个决定页面元素如何展现的计算˜q‡ç¨‹ã€‚直接修改DOMåQŒä¿®æ”¹å…ƒç´ çš„CSS样式åQŒä¿®æ”ÒŽ(gu¨©)µè§ˆå™¨çš„窗口大ž®ï¼Œéƒ½ä¼š(x¨¬)触发重解析。读取元素的布局属性比如offsetHeithe或者offsetWidth也会(x¨¬)触发重解析。重解析需要花费计½Ž—æ—¶é—ß_(d¨¢)¼Œå› æ­¤é‡è§£æžè§¦å‘çš„­‘Šå°‘åQŒåº”用就ä¼?x¨¬)è¶Šå¿«ã€?/p>

DOM操作通常要不ž®±æ˜¯ä¿®æ”¹å·²ç»å­˜åœ¨çš„页面上的元素,要不ž®±æ˜¯åˆ›å¾æ–°çš„™åµé¢å…ƒç´ ã€‚下面的4¿Uä¼˜åŒ–方案覆盖了(ji¨£n)修改和创建DOM节点两种方式åQŒå¸®åŠ©ä½ å‡å°‘è§¦å‘‹¹è§ˆå™¨é‡è§£æžçš„æ¬¡æ•°ã€?br />

æ–ÒŽ(gu¨©)¡ˆä¸€åQšé€šè¿‡CSS¾cÕdåˆ‡æ¢æ¥ä¿®æ”¹DOM 

˜q™ä¸ªæ–ÒŽ(gu¨©)¡ˆè®©æˆ‘们可以一‹Æ¡æ€§ä¿®æ”¹ä¸€ä¸ªå…ƒç´ å’Œå®ƒçš„子元素的多个样式属性而只触发一‹Æ¡é‡è§£æžã€?/p>

需求:(x¨¬)

åQˆemu注:(x¨¬)原文作者写到这里的时候脑子显然短路了(ji¨£n)一下,把后面的Out-of-the-flow DOM Manipulation模式要解决的问题¾l™æ‘†åˆ°è¿™é‡Œæ¥äº?ji¨£n),不过从示范代码中很容易明白作者真正想描述的问题,因此emuž®×ƒ¸ç…§ç¿»åŽŸæ–‡äº?ji¨£n)ï¼?j¨ª)

我们现在需要写一个函数来修改一个超链接的几个样式规则。要实现很简单,把这几个规则对应的属性逐一改了(ji¨£n)ž®±å¥½äº?ji¨£n)。但是带来的问题是,每修改一个样式属性,都会(x¨¬)坯D‡´ä¸€‹Æ¡é¡µé¢çš„重解析ã€?br />

function selectAnchor(element) {
  element.style.fontWeight 
= 'bold';
  element.style.textDecoration 
= 'none';
  element.style.color 
= '#000';
}

 

解决æ–ÒŽ(gu¨©)¡ˆ

要解册™¿™ä¸ªé—®é¢˜ï¼Œæˆ‘们可以先创å»ÞZ¸€ä¸ªæ ·å¼ååQŒåƈ且把要修改的样式规则都放到这个类名上åQŒç„¶åŽæˆ‘们给­‘…链接添加上˜q™ä¸ªæ–°ç±»åï¼Œž®±å¯ä»¥å®žçŽ°æ·»åŠ å‡ ä¸ªæ ·å¼è§„åˆ™è€Œåªè§¦å‘ä¸€‹Æ¡é‡è§£æžäº?ji¨£n)。这个模式还有个好处是也实现äº?ji¨£n)表现和逻辑相分¼›…R€?/p>


 

.selectedAnchor {
  font
-weight: bold;
  text
-decoration: none;
  color: #
000;
}

function selectAnchor(element) {
  element.className 
= 'selectedAnchor';
}

æ–ÒŽ(gu¨©)¡ˆäºŒï¼š(x¨¬)在非渲染åŒÞZ¿®æ”¹DOM

åQˆemu注:(x¨¬)作者在˜q™é‡Œå†æ¬¡è„‘子短èµ\åQŒæŠŠDocumentFragment DOM Generation模式的介¾læå‰åˆ°˜q™é‡Œæ¥äº†(ji¨£n)åQŒemu只好再次发挥一下)(j¨ª)
上一个方案解决的是修改一个超链接的问题,当一‹Æ¡éœ€è¦å¯¹å¾ˆå¤šä¸ªè¶…链接˜q›è¡Œç›¸åŒä¿®æ”¹çš„æ—¶å€™ï¼Œ˜q™ä¸ªæ–ÒŽ(gu¨©)¡ˆž®±å¯ä»¥å¤§æ˜¾èín手了(ji¨£n)ã€?/p>

需�/strong>

需求是˜q™æ ·çš„,我们要写一个函数来修改一个指定元素的子元素中所有的­‘…链接的样式名(classNameåQ‰å±žæ€§ã€‚要实现很简单,我们可以通过遍历每个­‘…é“¾æŽ¥åÆˆä¸”ä¿®æ”¹å®ƒä»¬çš„æ ·å¼åæ¥å®Œæˆä»ÕdŠ¡ã€‚ä½†æ˜¯å¸¦æ¥çš„é—®é¢˜ž®±æ˜¯åQŒæ¯ä¿®æ”¹ä¸€ä¸ªè¶…链接都会(x¨¬)坯D‡´ä¸€‹Æ¡é‡è§£æžã€?/p>

function updateAllAnchors(element, anchorClass) {
  
var anchors = element.getElementsByTagName('a');
  
for (var i = 0, length = anchors.length; i < length; i ++) {
    anchors[i].className 
= anchorClass;
  }
}

解决æ–ÒŽ(gu¨©)¡ˆ

要解册™¿™ä¸ªé—®é¢˜ï¼Œæˆ‘们可以把被修改的指定元素从DOM里面¿U»é™¤åQŒå†ä¿®æ”¹æ‰€æœ‰çš„­‘…链接,然后在把˜q™ä¸ªå…ƒç´ æ’å…¥å›žåˆ°å®ƒåŽŸæ¥çš„ä½ç½®ä¸Šã€‚äØ“(f¨´)äº?ji¨£n)完成这个复杂的操作åQŒæˆ‘们可以先写一个可重用的函敎ͼŒå®ƒä¸ä½†ç§»é™¤äº†(ji¨£n)˜q™ä¸ªDOM节点åQŒè¿˜˜q”回äº?ji¨£n)一个把元素插回到原来的位置的函数ã€?/p>

/**
 * Remove an element and provide a function that inserts it into its original position
 * @param element {Element} The element to be temporarily removed
 * @return {Function} A function that inserts the element into its original position
 *
*/
function removeToInsertLater(element) {
  
var parentNode = element.parentNode;
  
var nextSibling = element.nextSibling;
  parentNode.removeChild(element);
  
return function() {
    
if (nextSibling) {
      parentNode.insertBefore(element, nextSibling);
    } 
else {
      parentNode.appendChild(element);
    }
  };
}

有了(ji¨£n)上面˜q™ä¸ªå‡½æ•°åQŒçŽ°åœ¨æˆ‘ä»¬å°±å¯ä»¥åœ¨ä¸€ä¸ªä¸éœ€è¦è§£æžæ¸²æŸ“çš„å…ƒç´ ä¸Šé¢ä¿®æ”¹é‚£äº›­‘…链接了(ji¨£n)。这样只在移除和插入元素的时候各触发一‹Æ¡é‡è§£æžã€?br />
function updateAllAnchors(element, anchorClass) {
  
var insertFunction = removeToInsertLater(element);
  
var anchors = element.getElementsByTagName('a');
  
for (var i = 0, length = anchors.length; i < length; i ++) {
    anchors[i].className 
= anchorClass;
  }
  insertFunction();
}

æ–ÒŽ(gu¨©)¡ˆä¸‰ï¼š(x¨¬)一‹Æ¡æ€§çš„DOM元素生成

˜q™ä¸ªæ–ÒŽ(gu¨©)¡ˆè®©æˆ‘们创å»ÞZ¸€ä¸ªå…ƒç´ çš„˜q‡ç¨‹åªè§¦å‘一‹Æ¡é‡è§£æžã€‚在创徏完元素以后,先进行所有需要的修改åQŒæœ€åŽæ‰æŠŠå®ƒæ’入到DOM里面åŽÕd°±å¯ä»¥äº?/p>

需�/strong>

需求是˜q™æ ·çš„,实现一个函敎ͼŒå¾€(xi¨¤n)一个指定的父元素上插入一个超链接元素。这个函数要同时可以讄¡½®˜q™ä¸ª­‘…链接的昄¡¤ºæ–‡å­—和样式类。我们可以这样做åQšåˆ›å»ºå…ƒç´ ï¼Œæ’入到DOM里面åQŒç„¶åŽè®¾¾|®ç›¸åº”的属性。这ž®Þp¦è§¦å‘3‹Æ¡é‡è§£æžã€?/p>

function addAnchor(parentElement, anchorText, anchorClass) {
  
var element = document.createElement('a');
  parentElement.appendChild(element);
  element.innerHTML 
= anchorText;
  element.className 
= anchorClass;
}

解决æ–ÒŽ(gu¨©)¡ˆ

很简单,我们只要把插入元素这个操作放到最后做åQŒå°±å¯ä»¥åªè¿›è¡Œä¸€‹Æ¡é‡è§£æžäº?ji¨£n)ã€?/p>

function addAnchor(parentElement, anchorText, anchorClass) {
  
var element = document.createElement('a');
  element.innerHTML 
= anchorText;
  element.className 
= anchorClass;
  parentElement.appendChild(element);
}

不过åQŒè¦æ˜¯æˆ‘们想要插入很多个­‘…链接到一个元素里面的话,那么˜q™ä¸ªåšæ³•˜q˜æ˜¯æœ‰é—®é¢˜ï¼š(x¨¬)每插入一个超链接˜q˜æ˜¯è¦è§¦å‘一‹Æ¡é‡è§£æžã€‚下一个方案可以解册™¿™ä¸ªé—®é¢˜ã€?/p>

æ–ÒŽ(gu¨©)¡ˆå››ï¼š(x¨¬)通过文档片段对象åQˆDocumentFragmentåQ‰åˆ›å»ÞZ¸€¾l„å…ƒç´?/strong>

˜q™ä¸ªæ–ÒŽ(gu¨©)¡ˆå…è®¸æˆ‘们创徏òq¶æ’入很多个元素而只触发一‹Æ¡é‡è§£æžã€‚要实现˜q™ç‚¹éœ€è¦ç”¨åˆ°æ‰€è°“的文档片段对象åQˆDocumentFragmentåQ‰ã€‚我们先在DOM之外创徏一个文档片ŒDµå¯¹è±¡ï¼ˆ˜q™æ ·å®ƒä¹Ÿž®×ƒ¸éœ€è¦è§£æžå’Œæ¸²æŸ“åQ‰ï¼Œç„¶åŽæˆ‘们在文档片ŒDµå¯¹è±¡ä¸­åˆ›å¾å¾ˆå¤šä¸ªå…ƒç´ ï¼Œæœ€åŽæˆ‘们把˜q™ä¸ªæ–‡æ¡£ç‰‡æ®µå¯¹è±¡ä¸­æ‰€æœ‰çš„元素一‹Æ¡æ€§æ”¾åˆ°DOM里面去,只触发一‹Æ¡é‡è§£æžã€?/p>

需�/strong>


我们要写一个函敎ͼŒå¾€(xi¨¤n)一个指定的元素上面增加10个超链接。如果我们简单的直接插入10个超链接到元素上面,ž®×ƒ¼š(x¨¬)触发10‹Æ¡é‡è§£æžã€?/p>

function addAnchors(element) {
  
var anchor;
  
for (var i = 0; i < 10; i ++) {
    anchor 
= document.createElement('a');
    anchor.innerHTML 
= 'test';
    element.appendChild(anchor);
  }
}

解决æ–ÒŽ(gu¨©)¡ˆ

要解册™¿™ä¸ªé—®é¢˜ï¼Œæˆ‘们要先创徏一个文档片ŒDµå¯¹è±¡ï¼Œç„¶åŽæŠŠæ¯ä¸ªæ–°åˆ›å¾çš„超链接都插入到它里面去。当我们把文档片ŒDµå¯¹è±¡ç”¨appendChild命ä×o(h¨´)插入到指定的节点æ—Óž¼Œ˜q™ä¸ªæ–‡æ¡£ç‰‡æ®µå¯¹è±¡çš„æ‰€æœ‰å­èŠ‚ç‚¹ž®×ƒ¸€èµ¯‚¢«æ’入到指定的元素里面åQŒè€Œä¸”只需要触发一‹Æ¡é‡è§£æžã€?br />

function addAnchors(element) {
  
var anchor, fragment = document.createDocumentFragment();
  
for (var i = 0; i < 10; i ++) {
    anchor 
= document.createElement('a');
    anchor.innerHTML 
= 'test';
    fragment.appendChild(anchor);
  }
  element.appendChild(fragment);
}


注意åQšå¦‚无特别声明,本文中引用的所有程序均不是Google开发,也与Google没有其他什么关¾p…R€‚这些程序引发的责ä“Q均由其开发者或者所有者自己承担,与googleæ— å…³ã€?/em>

]]>
[¾˜»è¯‘] 压羃åQŒè®©¾|‘络更快http://www.aygfsteel.com/emu/archive/2010/02/18/313398.htmlemuemuThu, 18 Feb 2010 09:00:00 GMThttp://www.aygfsteel.com/emu/archive/2010/02/18/313398.htmlhttp://www.aygfsteel.com/emu/comments/313398.htmlhttp://www.aygfsteel.com/emu/archive/2010/02/18/313398.html#Feedback1http://www.aygfsteel.com/emu/comments/commentRss/313398.htmlhttp://www.aygfsteel.com/emu/services/trackbacks/313398.html阅读全文

]]>
IE8下对cookie的限制ã€?/title><link>http://www.aygfsteel.com/emu/archive/2009/10/29/300227.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Thu, 29 Oct 2009 10:50:00 GMT</pubDate><guid>http://www.aygfsteel.com/emu/archive/2009/10/29/300227.html</guid><wfw:comment>http://www.aygfsteel.com/emu/comments/300227.html</wfw:comment><comments>http://www.aygfsteel.com/emu/archive/2009/10/29/300227.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.aygfsteel.com/emu/comments/commentRss/300227.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/emu/services/trackbacks/300227.html</trackback:ping><description><![CDATA[<p>emu‹¹‹è¯•äº?ji¨£n)一下IE8åQŒå‘现cookie的限制似乎比以前宽松多了(ji¨£n)。具体限制是åQ?br /> * 每个域名下允è®?0个cookieåQŒè¶…˜q‡äº†(ji¨£n)覆盖最早写入的cookieåQˆæˆ–者说队列式管理,­‘…过äº?ji¨£n)第一个出队)(j¨ª)<br /> * 同一个页面(和从˜q™ä¸ª™åµé¢å‘出的请求)(j¨ª)子域、父域和根域各自有自å·Þqš„50个cookieã€?br /> * 单个cookie的总长度:(x¨¬)cookieName+cookieValue+附加信息åQˆåŒ…æ‹¬ç­‰åøP¼Œ½Iºæ ¼åQŒåˆ†åøP¼ŒdomainåQŒexpiresåQŒpath之类的)(j¨ª)不能­‘…过5kåQˆæœ€å¤?119bytesåQ?br /> * 同一个页面(和从˜q™ä¸ª™åµé¢å‘出的请求)(j¨ª)子域、父域和根域的全部cookie的内定w•¿åº¦ï¼ˆcookieName+cookieValue+½{‰å·åQŒç©ºæ û|¼Œåˆ†å·åQ‰ä¸èƒ½è¶…˜q?0kåQŒå¦åˆ™å…¨éƒ¨å˜æˆhttponlyåQŒæ— æ³•用脚本讉K—®</p> * 同一个页面(和从˜q™ä¸ª™åµé¢å‘出的请求)(j¨ª)子域、父域和根域的全部cookie的内定w•¿åº¦ï¼ˆcookieName+cookieValue+½{‰å·åQŒç©ºæ û|¼Œåˆ†å·åQ‰ä¸èƒ½è¶…˜q?0kã€?br /> <br /> 总而言之,cookie不是用来存数据的åQŒèƒ½ä¸ç”¨ž®±åˆ«ç”¨ã€?<br /> <br /> 边做‹¹‹è¯•边些博客的后果是åQŒç”±äºŽä¸åœçš„æ¸…空cookie把博客的登陆态清掉了(ji¨£n)åQŒå·®ç‚ÒŽ(gu¨©)–‡ç« æäº¤å¤±è´¥é‡æ–°å†™å‘µå‘µ <img src ="http://www.aygfsteel.com/emu/aggbug/300227.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/emu/" target="_blank">emu</a> 2009-10-29 18:50 <a href="http://www.aygfsteel.com/emu/archive/2009/10/29/300227.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IE8里,“aboutåQšâ€åˆå›žæ¥äº?/title><link>http://www.aygfsteel.com/emu/archive/2009/05/22/277277.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Fri, 22 May 2009 04:32:00 GMT</pubDate><guid>http://www.aygfsteel.com/emu/archive/2009/05/22/277277.html</guid><wfw:comment>http://www.aygfsteel.com/emu/comments/277277.html</wfw:comment><comments>http://www.aygfsteel.com/emu/archive/2009/05/22/277277.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.aygfsteel.com/emu/comments/commentRss/277277.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/emu/services/trackbacks/277277.html</trackback:ping><description><![CDATA[˜q˜è®°å¾—IE6.0.2600以前的美好日子吗åQŸé‚£æ—¶æˆ‘们多喜欢搞这¿Uä»£ç æ¥èŠ‚çœä¸€ä¸ªhttpè¯äh±‚啊:(x¨¬)<br /> <br /> <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><span style="color: #0000ff"><</span><span style="color: #800000">iframe </span><span style="color: #ff0000">src</span><span style="color: #0000ff">="about:<b style='color:red'>hello</b><script>alert(123)</script>"</span><span style="color: #0000ff">></</span><span style="color: #800000">iframe</span><span style="color: #0000ff">></span></div> <br /> 当然˜q˜æœ‰˜q™æ ·çš?br /> <br /> <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #000000">showModalDialog(</span><span style="color: #000000">"</span><span style="color: #000000">about:<b style='color:red'>hello</b><script>alert(123)</script></span><span style="color: #000000">"</span><span style="color: #000000">)</span></div> <br /> <br /> 在IE6.0.2600以后åQŒå¤§å®¶å°±åªå¥½è½¬å‘更兼容的写法äº?ji¨£n)ï¼?x¨¬)<br /> <br /> <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff"><</span><span style="color: #800000">iframe </span><span style="color: #ff0000">src</span><span style="color: #0000ff">="javascript:&quot;<b style='color:red'>hello</b><script>alert(123)</script>&quot;"</span><span style="color: #0000ff">></</span><span style="color: #800000">iframe</span><span style="color: #0000ff">></span></div> <br /> 今天偶然发现åQŒIE8正式版下面,久违çš?#8220;aboutåQ?#8221;又可以显½Cºå’Œæ‰§è¡Œäº?ji¨£n)呵å‘üc(di¨£n)€? <img src ="http://www.aygfsteel.com/emu/aggbug/277277.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/emu/" target="_blank">emu</a> 2009-05-22 12:32 <a href="http://www.aygfsteel.com/emu/archive/2009/05/22/277277.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Chrome‹¹è§ˆå™¨ç¬¬ä¸€‹Æ¡ä‹É用google gears¾l„徏的时候会(x¨¬)有问é¢?/title><link>http://www.aygfsteel.com/emu/archive/2009/01/13/251099.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Tue, 13 Jan 2009 03:46:00 GMT</pubDate><guid>http://www.aygfsteel.com/emu/archive/2009/01/13/251099.html</guid><wfw:comment>http://www.aygfsteel.com/emu/comments/251099.html</wfw:comment><comments>http://www.aygfsteel.com/emu/archive/2009/01/13/251099.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.aygfsteel.com/emu/comments/commentRss/251099.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/emu/services/trackbacks/251099.html</trackback:ping><description><![CDATA[<a >http://qzone.qq.com/blog/286013388-1231818216</a><br /> <br /> <p>使用è°äh­Œ‹¹è§ˆå™?chrome)的时候,有的时候脚本程序会(x¨¬)捕获åˆ?#8220;Uncaught TypeError: Object #<an HTMLObjectElement> has no method 'create' ”˜q™ä¸ªé”™è¯¯åQŒåœ¨chrome的用戯‚®ºå›ä¸Šä¹Ÿæœ‰äººåœ¨é—®è¿™ä¸ªé—®é¢˜ã€?/p> <p>˜q™ä¸ªé”™è¯¯åº”该是由于最新版的谷歌浏览器没有自带完整的google gears¾l„äšg坯D‡´çš„。看èµäh¥æœ€æ–°ç‰ˆçš„chrome‹¹è§ˆå™¨ä¼š(x¨¬)在用æˆïL(f¨¥ng)¬¬ä¸€‹Æ¡ä‹É用gears¾l„äšg的时候自动下载和安装该组ä»Óž¼Œè€Œåœ¨å®‰è£…成功以前我们虽然可以成功创徏 application/x-googlegears 对象åQŒå´æ— æ³•调用它的createæ–ÒŽ(gu¨©)³•创徏ä»ÖM½•有用的东è¥Ñ€?/p> <p>˜q™ä¸ªæ—¶å€™å…¶å®žæ²¡æœ‰å¤ªå¤šçš„事情可以做,基本上我们我们只能检‹¹‹è¿™ä¸ªå¯¹è±¡çš„create接口是否存在åQŒå‘çŽîC¸å­˜åœ¨çš„æ—¶å€™æ½Cºç”¨æˆ¯‚€(g¨¨)å¿ƒ(j¨©)½{‰å¾…åQŒè¿‡ä¸€ŒD‰|—¶é—´åŽå†åˆ·æ–ŽÍ¼Œæˆ–者下回再来看看,希望它已¾lè‡ªå·±å®‰è£…好äº?ji¨£n)ã€?br /> </p> <img src ="http://www.aygfsteel.com/emu/aggbug/251099.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/emu/" target="_blank">emu</a> 2009-01-13 11:46 <a href="http://www.aygfsteel.com/emu/archive/2009/01/13/251099.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>打开QQ½Iºé—´é€Ÿåº¦é£žå¿«çš„æ–¹æ³?/title><link>http://www.aygfsteel.com/emu/archive/2009/01/11/250880.html</link><dc:creator>emu</dc:creator><author>emu</author><pubDate>Sun, 11 Jan 2009 13:07:00 GMT</pubDate><guid>http://www.aygfsteel.com/emu/archive/2009/01/11/250880.html</guid><wfw:comment>http://www.aygfsteel.com/emu/comments/250880.html</wfw:comment><comments>http://www.aygfsteel.com/emu/archive/2009/01/11/250880.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/emu/comments/commentRss/250880.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/emu/services/trackbacks/250880.html</trackback:ping><description><![CDATA[<a >打开QQ½Iºé—´é€Ÿåº¦é£žå¿«çš„æ–¹æ³?br /> </a><br /> <div style="font-size: 16px" id="blogDetailDiv">假如你是中国ç”?sh¨´)ä¿¡adslä¸Šç½‘çš„ç”¨æˆøP¼Œåœ¨windowsòq›_°ä¸‹è¯•用IE‹¹è§ˆå™¨è®¿é—®QQ½Iºé—´åQŒé‚£ä¹?br /> 首先呢,ž®±æ˜¯è®‰K—®<wbr><a target="_blank" >http://gears.google.com/</a><wbr> 先把google gears装上(最新是0.5ç‰?。有一些同学访问不äº?ji¨£n)gears主页或者由于某¿UåŽŸå› å®‰è£…ä¸ä¸Šgoogle上的最新版gearsåQŒé‚£ä¹ˆå¯ä»¥è¯•试到<br /> <a >http://down1.tech.sina.com.cn/download/down_contents/1194710400/37265.shtml</a><br /> 上下载稍微旧一点的版本åQ?.4版)(j¨ª)<br /> ¾|‘上˜q˜æœ‰æ›´æ—§çš„版本,但是emuž®±æ²¡æœ‰å®žéªŒè¿‡äº?ji¨£n)ã€?br /> 然后呢,你就可以讉K—®˜q™ä¸ªåœ°å€äº?ji¨£n)ï¼?x¨¬)<wbr><a target="_blank" >http://imgcache.qq.com/qzone/test/gears/gearsMng.html</a><wbr><br /> 对于¾|‘通宽带的朋友åQŒå°±è¦è®¿é—®è¿™ä¸ªï¼š(x¨¬)<wbr><a target="_blank" >http://cnc.imgcache.qq.com/qzone/test/gears/gearsMng.html</a><wbr><br /> 而对于教育网的朋友,则要讉K—®˜q™ä¸ªåQ?wbr><a target="_blank" >http://edu.imgcache.qq.com/qzone/test/gears/gearsMng.html</a><wbr><br /> 点击“启用加é€?#8221;åQŒä¼š(x¨¬)有个gears提示åQŒç¡®è®¤ä»¥åŽï¼Œ½{‰å…¨éƒ¨è¿›åº¦æ¡èµ°æˆ¾l¿è‰²ž®±å¥½äº?ji¨£n),以后讉K—®QQ½Iºé—´çš„æ—¶å€™å°±ä¼?x¨¬)自动的变得飞快ã€?br /> <br /> 有几点小技巧:(x¨¬)<br /> * google gears不是很稳定,有的时候进度条走着走着ž®±å¡ä½ä¸èµîCº†(ji¨£n)åQŒè¿™ä¸ªæ—¶å€™å¯ä»¥å¤šç‚¹å‡ ä¸?#8220;启用加é€?#8221;ž®±å¥½äº?ji¨£n)。如果还是不行,可能是网¾lœåŽŸå› ï¼Œä¹Ÿæ²¡æœ‰å…³¾p»ï¼Œä¸ç®¡å®ƒå°±å¯ä»¥äº?ji¨£n),google gearsä¼?x¨¬)在¾|‘络好的时候自己把没下载完的文件给补上的ã€?br /> * 如果不大¼‹®å®šä½ çš„上网环境åQˆè”通?有线宽屏åQŸé“é€šï¼ŸåQ‰ï¼Œæˆ–者笔记本¾lå¸¸æŠ±æ¥æŠ±åŽ»ä¸ŠQQ½Iºé—´åQŒé‚£ä¹ˆä¸å¦¨æŠŠç”?sh¨´)信、网通和教育¾|‘三个页面都讉K—®ä¸€éï¼Œåˆ†åˆ«å¯ç”¨åŠ é€Ÿï¼Œ˜q™æ ·ä¸ç®¡åœ¨ä»€ä¹ˆçŽ¯å¢ƒä¸‹éƒ½å¯ä»¥ç¡®å®šèŽ·å¾—æœ€å¥½çš„æ•ˆæžœã€?br /> * 如果你用的是FireFox‹¹è§ˆå™¨ï¼Œä¹Ÿå¯ä»¥ä¾ç…§ä¸Šé¢çš„æ“ä½œã€?br /> * 如果你用的是googleçš„chrome‹¹è§ˆå™¨ï¼Œòq¶ä¸”æ˜?.0正式版以上的版本åQŒé‚£ä¹ˆå®ƒå·²ç»è‡ªå¸¦äº?ji¨£n)一个比较稳定版本的gearsåQŒèŸ©˜q‡å®‰è£…gears˜q™ä¸€æ­¥ã€‚但是chrome下面gears˜q˜æ˜¯æœ‰æ—¶ä¸ååˆ†ç¨³å®šï¼Œè™½ç„¶emu已经ž®½åŠ›åšäº†(ji¨£n)兼容åQŒåœ¨½W¬ä¸€‹Æ¡ä‹É用的时候还是可能有炚w—®é¢˜ã€?br /> * 如果用的不是windows¾pȝ»ŸåQŒé‚£ä¹ˆgears˜q˜æœ‰MacOS下的版本åQŒæ”¯æŒSafari(<a >http://gears.google.com/?platform=mac-safari</a>)å’ŒFirefox(<a >http://gears.google.com/?platform=mac-firefox</a>)å’Œlinux下的版本(<a >http://gears.google.com/?platform=linux</a> 支持Firefox)åQŒæ­å–œæ­å–œã€‚不˜q‡åˆ°åº•用èµäh¥æ€Žä¹ˆæ øP¼Œemu也没试过ã€?br /> * 如果你用的居然是operaåQŒå°±è®¤å‘½äº?ji¨£n)吧ã€?/div> <img style="position: relative; display: none" id="paperPicArea1" alt="" src="http://qzone.qq.com/ac/b.gif" width="1" height="1" /> <img src ="http://www.aygfsteel.com/emu/aggbug/250880.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/emu/" target="_blank">emu</a> 2009-01-11 21:07 <a href="http://www.aygfsteel.com/emu/archive/2009/01/11/250880.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>分域名优化的时候要考虑备选IP的问é¢?/title><link>http://www.aygfsteel.com/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.aygfsteel.com/emu/archive/2008/05/23/202357.html</guid><wfw:comment>http://www.aygfsteel.com/emu/comments/202357.html</wfw:comment><comments>http://www.aygfsteel.com/emu/archive/2008/05/23/202357.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.aygfsteel.com/emu/comments/commentRss/202357.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/emu/services/trackbacks/202357.html</trackback:ping><description><![CDATA[我们在需要下载很多内容的时候,很容易想到做分域名的òq¶å‘下蝲åQŒç»™åŽŸæ¥çš„æœåŠ¡å™¨å¤šåˆ†å‡ ä¸ªåŸŸååQŒå› ä¸ºåˆ†ä¸åŒçš„域名可能可以在‹¹è§ˆå™¨ä¸­åˆ†åˆ°æ›´å¤šçš„下载进½E‹ï¼Œæé«˜?sh¨´)¸‹è²é€Ÿåº¦ã€?br /> 但是在做¾|‘络应用的时候,我们的一个域名下面有的时候会(x¨¬)有多个ip多台服务器,分布在不同的机房åQŒè¿™ä¸ªæ—¶å€™æµè§ˆå™¨ä¼?x¨¬)在可选的ip里面随机的选择一个ip。用nslookup可以看到可选的ipåQŒç”¨ping可以看到当前正在实用的ipã€?br /> 在多个ip的情况下åQŒå¯¹å…·ä½“çš„ä¸€ä¸ªç”¨æˆøP¼Œå¾€(xi¨¤n)å¾€(xi¨¤n)是连接到某些ip特别快,而连接到某些ipž®×ƒ¸æ€Žä¹ˆå—。比如我现在有一个域名(和它的几个分域名åQ‰ï¼Œåœ¨æ·±åœŒ™®¿é—®çš„æ—¶å€™æœ‰2个ip可以分,其中一个是深圳本地的服务器åQŒä¸€ä¸ªæ˜¯å¤–地的服务器。这个时候如果页面打开需要用到的关键资源依赖于这个域名,那么分域名有可能寚w€Ÿåº¦ä¸æ˜¯æé«˜è€Œæ˜¯æœ‰åä½œç”¨ã€?br /> 因䨓(f¨´)˜q™ç§æƒ…å†µä¸‹ï¼Œæ…¢çš„èµ„æºæˆäØ“(f¨´)äº?ji¨£n)瓶颈,变成是速度的决定因素。我本来有一半的æœÞZ¼š(x¨¬)是快的,一半的æœÞZ¼š(x¨¬)是慢的,如果现在分两个域名去下蝲关键资源åQŒå˜æˆæœ‰1/4的机ä¼?x¨¬)是两个域名都分到深圳的服务器,可以有提高,è€?/4的机ä¼?x¨¬)是有一个以上的域名分到外地的服务器åQŒåè€Œå˜æ…¢äº†(ji¨£n)åQŒè¿™æ ähé«˜çš„æ˜¯å°‘部分人的感受åQŒè€Œå¤šæ•îCh的感受没有提升或者变的更差。如果简单的按照yahoo的优化徏议分散到4个域名上åQŒé‚£ä¹ˆè¿™ä¸ªæ¯”例就变成1åQ?5åQŒæ›´å·®äº†(ji¨£n)ã€?br /> 因此分域名下载不能简单的¾lå¯¹åŒ–的看待åQŒè¦çœ‹å®žé™…应用场景做军_®šã€? <img src ="http://www.aygfsteel.com/emu/aggbug/202357.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/emu/" target="_blank">emu</a> 2008-05-23 11:36 <a href="http://www.aygfsteel.com/emu/archive/2008/05/23/202357.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> Ö÷Õ¾Ö©Öë³ØÄ£°å£º <a href="http://" target="_blank">¾¸Î÷ÏØ</a>| <a href="http://" target="_blank">Ë«ÅÆÏØ</a>| <a href="http://" target="_blank">ºÚË®ÏØ</a>| <a href="http://" target="_blank">ÕØÔ´ÏØ</a>| <a href="http://" target="_blank">Êæ³ÇÏØ</a>| <a href="http://" target="_blank">°×³ÇÊÐ</a>| <a href="http://" target="_blank">ÃñºÍ</a>| <a href="http://" target="_blank">ÄÚÏçÏØ</a>| <a href="http://" target="_blank">¡²ýÏØ</a>| <a href="http://" target="_blank">Æ½ÒØÏØ</a>| <a href="http://" target="_blank">¶ÑÁúµÂÇìÏØ</a>| <a href="http://" target="_blank">´ï×ÎÏØ</a>| <a href="http://" target="_blank">×ÏÔÆ</a>| <a href="http://" target="_blank">ÓÀ·áÏØ</a>| <a href="http://" target="_blank">»ÆÃ·ÏØ</a>| <a href="http://" target="_blank">ÃÖ¶ÉÏØ</a>| <a href="http://" target="_blank">°åÇÅÊÐ</a>| <a href="http://" target="_blank">·ÚÎ÷ÏØ</a>| <a href="http://" target="_blank">°¢°Í¸ÂÆì</a>| <a href="http://" target="_blank">À³ÖÝÊÐ</a>| <a href="http://" target="_blank">ÉÏÓÝÊÐ</a>| <a href="http://" target="_blank">ÑĮ̀ÊÐ</a>| <a href="http://" target="_blank">ÂÛ̳</a>| <a href="http://" target="_blank">¾¸ÖÝ</a>| <a href="http://" target="_blank">¹ã×ÚÏØ</a>| <a href="http://" target="_blank">Áú¾®ÊÐ</a>| <a href="http://" target="_blank">ÇåºÓÏØ</a>| <a href="http://" target="_blank">Óå±±Çø</a>| <a href="http://" target="_blank">ÁÖÎ÷ÏØ</a>| <a href="http://" target="_blank">¸Õ²ìÏØ</a>| <a href="http://" target="_blank">³¤ÀÖÊÐ</a>| <a href="http://" target="_blank">ÕòÔ­ÏØ</a>| <a href="http://" target="_blank">ÕÑÆ½ÏØ</a>| <a href="http://" target="_blank">±¨¼Û</a>| <a href="http://" target="_blank">»Ý¶«ÏØ</a>| <a href="http://" target="_blank">¶ÀÉ½ÏØ</a>| <a href="http://" target="_blank">¿Ë¶«ÏØ</a>| <a href="http://" target="_blank">Í­¹ÄÏØ</a>| <a href="http://" target="_blank">¶÷Ê©ÊÐ</a>| <a href="http://" target="_blank">°¢¿ËËÕÊÐ</a>| <a href="http://" target="_blank">äðºÓÊÐ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>