Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
¸ßÐÔÄÜJavascript--½Å±¾µÄÎÞ×èÈû¼ÓÔØ²ßÂÔ
 
×÷Õß Ico_Coco £¬»ðÁú¹ûÈí¼þ    ·¢²¼ÓÚ 2014-11-13
  2206  次浏览      27
 

JavascriptÔÚä¯ÀÀÆ÷ÖеÄÐÔÄÜ£¬¿ÉÒÔ˵ÊÇǰ¶Ë¿ª·¢ÕßËùÒªÃæ¶ÔµÄ×îÖØÒªµÄ¿ÉÓÃÐÔÎÊÌâ¡£

ÔÚYahooµÄYslow23Ìõ¹æÔòµ±ÖУ¬ÆäÖÐÒ»ÌõÊǽ«JS·ÅÔڵײ¿¡£Ô­ÒòÊÇ£¬ÊÂʵÉÏ£¬´ó¶àÊýä¯ÀÀÆ÷ʹÓõ¥½ø³Ì´¦ÀíUIºÍ¸üÐÂJavascriptÔËÐеȶà¸öÈÎÎñ£¬¶øÍ¬Ò»Ê±¼äÖ»ÄÜÓÐÒ»¸öÈÎÎñ±»Ö´ÐС£JavascriptÔËÐÐÁ˶೤ʱ¼ä£¬ÄÇôÔÚä¯ÀÀÆ÷¿ÕÏÐÏÂÀ´ÏìÓ¦Óû§½»»¥Ö®Ç°µÄµÈ´ýʱ¼ä¾ÍÓж೤¡£¡¡

´Ó»ù±¾²ãÃæËµ,ÕâÒâζ×Å<script>±êÇ©µÄ³öÏÖʹÕû¸öÒ³ÃæÒò½Å±¾½âÎö¡¢ÔËÐжø³öÏֵȴý¡£²»ÂÛʵ¼ÊµÄ JavaScript ´úÂëÊÇÄÚÁªµÄ»¹Êǰüº¬ÔÚÒ»¸ö²»Ïà¸ÉµÄÍⲿÎļþÖÐ,Ò³ÃæÏÂÔØºÍ½âÎö¹ý³Ì±ØÐëÍ£ÏÂ,µÈ´ý½Å±¾ Íê³ÉÕâЩ´¦Àí,È»ºó²ÅÄܼÌÐø¡£ÕâÊÇÒ³ÃæÉúÃüÖÜÆÚ±Ø²»¿ÉÉٵIJ¿·Ö,ÒòΪ½Å±¾¿ÉÄÜÔÚÔËÐйý³ÌÖÐÐÞ¸ÄÒ³Ãæ ÄÚÈÝ¡£µäÐ͵ÄÀý×ÓÊÇ document.write()º¯Êý,ÀýÈç:

<html>
2 <head>
3 <title>Script Example</title>
4 </head>
5
6 <body>
7 <p>
8 <script type="text/javascript">
9 document.write("The date is " + (new Date()).toDateString());
10 </script>
11 </p>
12 </body>
13 </html> ¡¡

µ±ä¯ÀÀÆ÷Óöµ½Ò»¸ö<script>±êǩʱ,ÕýÈçÉÏÃæ HTML Ò³ÃæÖÐÄÇÑù,ÎÞ·¨Ô¤Öª JavaScript ÊÇ·ñÔÚ<p>±êÇ©ÖÐ Ìí¼ÓÄÚÈÝ¡£Òò´Ë,ä¯ÀÀÆ÷Í£ÏÂÀ´,ÔËÐÐ´Ë JavaScript ´úÂë,È»ºóÔÙ¼ÌÐø½âÎö¡¢·­ÒëÒ³Ãæ¡£Í¬ÑùµÄÊÂÇé·¢Éú ÔÚʹÓà src ÊôÐÔ¼ÓÔØ JavaScript µÄ¹ý³ÌÖС£ä¯ÀÀÆ÷±ØÐëÊ×ÏÈÏÂÔØÍⲿÎļþµÄ´úÂë,ÕâÒªÕ¼ÓÃһЩʱ¼ä,È»ºó ½âÎö²¢ÔËÐд˴úÂë¡£´Ë¹ý³ÌÖÐ,Ò³Ãæ½âÎöºÍÓû§½»»¥ÊDZ»ÍêÈ«×èÈûµÄ¡£¡¡¡¡

ÒòΪ½Å±¾×èÈûÆäËûÒ³Ãæ×ÊÔ´µÄÏÂÔØ¹ý³Ì,ËùÒÔÍÆ¼öµÄ°ì·¨ÊÇ:½«ËùÓÐ<script>±êÇ©·ÅÔÚ¾¡¿ÉÄܽӽü<body> ±êÇ©µ×²¿µÄλÖÃ,¾¡Á¿¼õÉÙ¶ÔÕû¸öÒ³ÃæÏÂÔØµÄÓ°Ïì¡£ÀýÈç:

<html>
2 <head>
3 <title>Script Example</title>
4 <link rel="stylesheet" type="text/css" href="styles.css">
5 </head>
6
7 <body>
8 <p>Hello world!</p>
9 <-- Example of recommended script positioning -->
10 <script type="text/javascript" src="file1.js"></script>
11 <script type="text/javascript" src="file2.js"></script>
12 <script type="text/javascript" src="file3.js"></script>
13 </body>
14 </html>

´Ë´úÂëչʾÁËËùÍÆ¼öµÄ<script>±êÇ©ÔÚ HTML ÎļþÖеÄλÖ᣾¡¹Ü½Å±¾ÏÂÔØÖ®¼ä»¥Ïà×èÈû,µ«Ò³ÃæÒѾ­ ÏÂÔØÍê³É²¢ÇÒÏÔʾÔÚÓû§ÃæÇ°ÁË,½øÈëÒ³ÃæµÄËٶȲ»»áÏÔµÃÌ«Âý¡£Õâ¾ÍÊÇÉÏÃæÌáµ½µÄ½«JS·Åµ½µ×²¿¡£

ÁíÍ⣬Yahoo! ΪËûµÄ¡°Yahoo! Óû§½Ó¿Ú(Yahoo! User Interface,YUI)¡±¿â´´½¨Ò»¸ö¡°ÁªºÏ¾ä±ú¡±,ÕâÊÇͨ¹ýËû Ãǵġ°ÄÚÈÝͶµÝÍøÂç(Content Delivery Network,CDN)¡±ÊµÏֵġ£ÈκÎÒ»¸öÍøÕ¾¿ÉÒÔʹÓÃÒ»¸ö¡°ÁªºÏ¾ä±ú¡±URL Ö¸³ö°üº¬ YUI Îļþ°üÖеÄÄÄЩÎļþ¡£ÀýÈç,ÏÂÃæµÄ URL °üº¬Á½¸öÎļþ:

<script type="text/javascript"
src="http://yui.yahooapis.com/combo?2.7.0/build/yahoo/yahoo-min.js&2.7.0/build/event/event-min.js">
</script>

´Ë URL µ÷Óà 2.7.0 °æ±¾µÄ yahoo-min.js ºÍ event-min.js Îļþ¡£ÕâЩÎļþÔÚ·þÎñÆ÷ÉÏÊÇÁ½¸ö·ÖÀëµÄÎļþ,µ«ÊÇ µ±·þÎñÆ÷ÊÕµ½´Ë URL ÇëÇóʱ,Á½¸öÎļþ½«±»ºÏ²¢ÔÚÒ»Æð·µ»Ø¸ø¿Í»§¶Ë¡£Í¨¹ýÕâÖÖ·½·¨,¾Í²»ÔÙÐèÒªÁ½¸ö <script>±êÇ©(ÿ¸ö±êÇ©¼ÓÔØÒ»¸öÎļþ),Ò»¸ö<script>±êÇ©¾Í¿ÉÒÔ¼ÓÔØËûÃÇ¡£ÕâÊÇÔÚHTMLÒ³Ãæ°üº¬¶à¸öÍⲿJavascriptµÄ×î¼Ñ·½·¨¡£

Noblocking Scripts ·Ç×èÈû½Å±¾

ÉÏÊöÊÇÒ³Ãæ³õʼ״̬°üº¬¶à¸öJavascript½Å±¾¼ÓÔØµÄ×î¼Ñ·½·¨¡£JavascriptÇãÏòÓÚ×èÈûä¯ÀÀÆ÷ijЩ´¦Àí¹ý³Ì£¬ÈçhttpÇëÇóºÍ½çÃæË¢Ð£¬ÕâÊÇ¿ª·¢ÕßÃæÁÙµÄ×îÏÔÖøÐÔÄÜÎÊÌâ¡£±£³ÖJavascriptÎļþ¶ÌС£¬²¢ÏÞÖÆhttpÇëÇóµÄÊýÁ¿£¬Ö»ÊÇ´´½¨·´Ó¦Ñ¸ËÙµÄÍøÒ³Ó¦ÓõÚÒ»²½¡£

µ«ÖîÈç´óÐÍÍøÒ³ÓдóÁ¿µÄJs´úÂ룬±£³ÖÔ´Âë¶ÌС²¢²»×ÜÊÇÒ»ÖÖ×î¼ÑÑ¡Ôñ¡£So£¬·Ç×èÈû½Å±¾Ó¦Ô˶øÉú£¬ÎÒÃÇÐèÒªµÄÊÇÏòÒ³ÃæÖÐÖð²½Ìí¼Ójavascript£¬Ä³Ö̶ֳÈÉ϶øÑÔ²»»á×èÈûä¯ÀÀÆ÷¡£

¶ø·Ç×èÈû½Å±¾µÄ¹Ø¼üÔÚÓÚ£¬µÈÒ³ÃæÍê³É¼ÓÔØÖ®ºó£¬ÔÙ¼ÓÔØJavascriptÔ´Â룬ÕâÒâζ×ÅÔÚwindowµÄloadʼþ·¢³öÖ®ºó¿ªÊ¼ÏÂÔØ´úÂë¡£

Ïà¹Ø½âÊÍ£º¡¡¡¡

window µÄloadʼþÖ»»áÔÚÒ³ÃæÔØÈëÍê±Ïºó´¥·¢Ò»´ÎÇÒ½öÒ»´Î¡£

window.onload=function(){}±ØÐëµÈ´ýÍøÒ³ÖÐËùÓеÄÄÚÈݼÓÔØÍê±Ïºó( °üÀ¨ÔªËصÄËùÓйØÁªÎļþ£¬ÀýÈçͼƬ)²ÅÄÜÖ´ÐУ¬¼´Javascript´Ëʱ²Å¿ÉÒÔ·ÃÎÊÒ³ÃæÖеÄÈκÎÔªËØ¡£

ÈçÏÂÊö¼¸ÖÖ·½·¨£º

1¡¢Deferred Scripts ÑÓÆÚ½Å±¾

Html4Ϊ<script>±êÇ©¶¨ÒåÁËÒ»¸öÀ©Õ¹ÊôÐÔ£ºdefer¡£

Õâ¸ödeferÊôÐÔÖ¸Ã÷ÔªËØÖÐËù°üº¬µÄ½Å±¾²»´òËãÐÞ¸ÄDOM£¬Òò´Ë´úÂë¿ÉÒÔÉÔºóÖ´ÐС£deferÊôÐÔÖ»±»Internet Explorer 4+ºÍFirefox 3.5+Ö§³Ö£¬Ëü²»ÊÇÒ»¸öÀíÏëµÄ¿çä¯ÀÀÆ÷½â¾ö·½°¸¡£ÔÚÆäËûä¯ÀÀÆ÷ÉÏ£¬deferÊôÐÔ½«±»ºöÂÔ¡£ËùÒÔ£¬<script>±êÇ©»á°´ÕÕÕý³£Ä¬ÈÏ·½Ê½´¦Àí£¬¼´ÊÇ»áÔì³É×èÈû¡£Èç¹ûµÃµ½¸÷¸öÖ÷Á÷ä¯ÀÀÆ÷µÄÖ§³Ö£¬ÕâÈÔÊÇÒ»ÖÖÓÐЧµÄ½â¾ö·½Ê½¡£

<script type="text/javascript" src="file1.js" defer></script>

Ò»¸ö´øÓÐdeferÊôÐÔµÄ<script>±êÇ©¿ÉÒÔ·ÅÖÃÔÚÎĵµµÄÈκÎλÖã¬Ëü»áÔÚ±»½âÎöʱÆô¶¯ÏÂÔØ£¬Ö±µ½DOM¼ÓÔØÍê³É£¨ÔÚonloadʼþ¾ä±ú±»µ÷ÓÃ֮ǰ£©¡£µ±Ò»¸ödeferµÄJavascriptÎļþ±»ÏÂÔØÊ±£¬Ëü²»»á×èÈûä¯ÀÀÆ÷µÄÆäËû´¦Àí¹ý³Ì£¬ËùÒÔÕâЩÎļþ¿ÉÒÔÓëÆäËû×ÊÔ´Ò»Æð²¢ÐÐÏÂÔØ¡£

¿ÉÒÔʹÓÃÏÂÊö´úÂë²âÊÔä¯ÀÀÆ÷ÊÇ·ñÖ§³ÖdeferÊôÐÔ£º

<html>
2 <head>
3 <title>Script Defer Example</title>
4 </head>
5
6 <body>
7 <script defer> alert("defer");</script>
8 <script> alert("script"); </script>
9 <script> window.onload = function(){ alert("load");}; </script>
10 </body>
11 </html>

Èç¹ûä¯ÀÀÆ÷²»Ö§³Ödefer£¬ÄÇôµ¯³öµÄ¶Ô»°¿òµÄ˳ÐòÊÇ¡°defer¡±£¬¡°script¡±£¬¡°load¡±¡£

Èç¹ûä¯ÀÀÆ÷Ö§³Ödefer£¬ÄÇôµ¯³öµÄ¶Ô»°¿òµÄ˳ÐòÊÇ¡°script¡±£¬¡°load¡±£¬¡°defer¡±¡£

2¡¢Dynamic Script Elements ¶¯Ì¬½Å±¾ÔªËØ

DOMÔÊÐíÎÒÃÇʹÓÃJavascript¶¯Ì¬´´½¨HTMLµÄ¼¸ºõËùÓÐÎĵµÄÚÈÝ£¬Ò»¸öеÄ<script>ÔªËØ¿ÉÒԷdz£ÈÝÒ×µÄͨ¹ý±ê×¼DOM´´½¨£º

 var script = document.createElement ("script");
2 script.type = "text/javascript";
3 script.src = "file1.js";
4 document.body.appendChild(script);

еÄ<script>ÔªËØ¼ÓÔØfile1.jsÔ´Îļþ¡£´ËÎļþµ±ÔªËØÌí¼Óµ½Ò³ÃæºóÁ¢¿Ì¿ªÊ¼ÏÂÔØ¡£´Ë¼¼ÊõµÄÖØµãÔÚÓÚ£ºÎÞÂÛÔںδ¦Æô¶¯ÏÂÔØ£¬ÎļþµÄÏÂÔØºÍÔËÐж¼²»»á×èÈûÆäËûÒ³Ãæ´¦Àí¹ý³Ì¡£

µ±ÎļþʹÓö¯Ì¬½Å±¾½ÚµãÏÂÔØÊ±£¬·µ»ØµÄ´úÂëͨ³£Á¢¼´Ö´ÐУ¨³ýÁËFirefoxºÍOpera£¬ËüÃǽ«µÈ´ý´ËǰµÄËùÓж¯Ì¬½Å±¾½ÚµãÖ´ÐÐÍê±Ï£©¡£

´ó¶àÊýÇé¿öÏ£¬ÎÒÃÇÏ£Íûµ÷ÓÃÒ»¸öº¯Êý¾Í¿ÉÒÔʵÏÖJavascriptÎļþµÄ¶¯Ì¬ÏÂÔØ¡£ÏÂÃæµÄº¯Êý·âװʵÏÖÁ˱ê׼ʵÏÖºÍIEʵÏÖ£º

function loadScript(url, callback){
2 var script = document.createElement ("script") ;
3 ¡¡ script.type = "text/javascript";
4
5 if (script.readyState){ //IE
6 script.onreadystatechange = function(){
7 if (script.readyState == "loaded" || script.readyState == "complete"){
8 script.onreadystatechange = null;
9 callback();
10 }
11 };
12 }
13 else { //Others
14 script.onload = function(){ callback();
15 };
16 }
17 script.src = url;
18 document.getElementsByTagName("head")[0].appendChild(script);
19 }
20
21 loadScript("file1.js", function(){ //µ÷ÓÃ
22 alert("File is loaded!");
23 });

´Ëº¯Êý½ÓÊÜÁ½¸ö²ÎÊý£ºJavascriptÎļþµÄUrlºÍÒ»¸öµ±Javascript½ÓÊÕÍê³Éʱ´¥·¢µÄ»Øµ÷º¯Êý¡£ÊôÐÔ¼ì²éÓÃÓÚ¾ö¶¨¼àÊÓÄÄÖÖʼþ¡£×îºóÒ»²½srcÊôÐÔ£¬²¢½«javascriptÎļþÌí¼Óµ½head¡£

¶¯Ì¬½Å±¾¼ÓÔØÊÇ·Ç×èÈûJavascriptÏÂÔØÖÐ×î³£ÓõÄģʽ£¬ÒòΪËü¿ÉÒÔ¿çä¯ÀÀÆ÷£¬¶øÇÒ¼òµ¥Ò×Óá£

3¡¢XMLHttpRequest Script Injection XHR½Å±¾×¢Èë

ÁíÒ»¸öÒÔ·Ç×èÈû·½Ê½»ñµÃ½Å±¾µÄ·½·¨ÊÇʹÓÃXMLHttpRequest(XHR)¶ÔÏ󽫽ű¾×¢Èëµ½Ò³ÃæÖС£´Ë¼¼ÊõÊ×ÏÈ´´½¨Ò»¸öXHR¶ÔÏó£¬È»ºóÏÂÔØJavascriptÎļþ£¬½Ó×ÅÓÃÒ»¸ö¶¯Ì¬<script>ÔªËØ½«Javascript´úÂë×¢ÈëÒ³Ãæ¡£¿´demo£º¡¡

var xhr = new XMLHttpRequest(); 
2 xhr.open("get", "file1.js", true);
3 xhr.onreadystatechange = function(){
4 if (xhr.readyState == 4){
5 if (xhr.status >= 200 && xhr.status < 300 || xhr.status == 304){ // ¼ì²éhttp״̬Âë
6 var script = document.createElement("script");
7 script.type = "text/javascript";
8 script.text = xhr.responseText;
9 document.body.appendChild(script);
10 }
11 }
12 };
13 xhr.send(null);

´Ë´úÂëÏò·þÎñÆ÷·¢ËÍÒ»¸ö»ñÈ¡file1.jsµÄÎļþgetÇëÇó¡£onreadystatechangeʼþ´¦Àíº¯Êý¼ì²éreadyStateÊDz»ÊÇ4£¬È»ºó¼ì²éhttp״̬ÂëÊDz»ÊÇÓÐЧ£¨200±íʾȷ¶¨¿Í»§¶ËÇëÇóÒѳɹ¦£¬2xx±íʾÓÐЧ»ØÓ¦£¬304±íʾһ¸ö»º´æÏìÓ¦£©¡£Èç¹ûÊÕµ½Ò»¸öÓÐЧÏìÓ¦£¬ÄÇô¾Í´´½¨Ò»¸öеÄ<script>ÔªËØ£¬½«ËüµÄÎı¾ÊôÐÔÉèÖÃΪ´Ó·þÎñÆ÷½ÓÊÕµ½µÄresponseText×Ö·û´®¡£ÕâÑù×öʵ¼ÊÉϻᴴ½¨Ò»¸ö´øÓÐÄÚÁª´úÂëµÄ<script>ÔªËØ£¬Ò»µ©ÐµÄ<script>ÔªËØ±»Ìí¼Óµ½Îĵµ£¬´úÂ뽫±»Ö´ÐУ¬²¢×¼±¸Ê¹Óá£

´Ë·½·¨µÄÓŵãÊǼæÈÝÐԼѣ¬ÇÒÄã¿ÉÒÔÏÂÔØ²»Á¢¼´Ö´ÐеÄJavascript´úÂë¡£ÓÉÓÚ´úÂë·µ»ØÔÚ<script>±êǩ֮Í⣬ËüÏÂÔØºó²»»á×Ô¶¯Ö´ÐУ¬ÕâʹµÃÄã¿ÉÒÔÍÆ³ÙÖ´ÐС£

´Ë·½·¨µÄÈ·¶¨ÊÇÊܵ½ä¯ÀÀÆ÷ͬԴÏÞÖÆ£¬JavascriptÎļþ±ØÐëÓëÒ³Ãæ·ÅÖÃÔÚͬһ¸öÓòÄÚ£¬²»ÄÜ´ÓCDN(ÄÚÈÝ·Ö·¢ÍøÂçContent Delivery Network)ÏÂÔØ¡£ÕýÒòΪÕâ¸öÔ­Òò£¬´óÐÍÍøÒ³Í¨³£²»²ÉÓÃXHR½Å±¾×¢Èë¼¼Êõ¡£

4¡¢Recommended Noblocking Pattern ÍÆ¼öµÄ·Ç×èÈûģʽ

ÍÆ¼öµÄÏòÒ³Ãæ¼ÓÔØ´óÁ¿JavascriptµÄ·½·¨·ÖΪÁ½¸ö²½Ö裺

µÚÒ»²½£¬°üº¬¶¯Ì¬¼ÓÔØJavascriptËùÐèµÄ´úÂ룬Ȼºó¼ÓÔØÒ³Ãæ³õʼ»¯ËùÐèµÄ³ýÁËJavascriptÖ®ÍâµÄ²¿·Ö¡£Õⲿ·Ö´úÂ뾡Á¿Ð¡£¬¿ÉÄÜÖ»°üº¬loadScript()º¯Êý£¬ËüµÄÏÂÔØºÍÔËÐзdz£Ñ¸ËÙ£¬²»»á¶ÔÒ³ÃæÔì³ÉºÜ´ó¸ÉÈÅ¡£

µÚ¶þ²½£¬µ±³õʼ´úÂë×¼±¸ºÃÖ®ºó£¬ÓÃËüÀ´¼ÓÔØÆäÓàµÄJavascript¡£

ÀýÈ磺

 <script type="text/javascript" src="loader.js">
2 </script> <script type="text/javascript">
3 loadScript("the-rest.js", function(){
4 ¡¡¡¡Application.init();
5 });
6
7 </script>

½«´Ë´úÂë·ÅÖÃÔÚbodyµÄ¹Ø±Õ±êÇ©</body>֮ǰ¡£ÕâÑù×öµÄºÃ´¦ÊÇ£¬Ê×ÏÈ£¬ÕâÑùÈ·±£JavascriptÔËÐв»»áÓ°ÏìÆäËûÒ³ÃæµÄÆäËû²¿·ÖÏÔʾ¡£Æä´Î£¬µ±µÚ¶þ²¿·ÖJavascriptÎļþÍê³ÉÏÂÔØ£¬ËùÓÐÓ¦ÓóÌÐòËù±ØÐëµÄDOMÒѾ­´´½¨Íê±Ï£¬²¢×öºÃ±»·ÃÎʵÄ×¼±¸£¬±ÜÃâʹÓöîÍâµÄʼþ´¦Àí£¨Èçwindow.onload£©À´µÃÖªÒ³ÃæÊÇ·ñÒѾ­×¼±¸ºÃÁË¡£

ÁíÒ»¸öÑ¡ÔñÊÇÖ±½Ó½«loadScript()º¯ÊýǶÈëÔÚÒ³ÃæÖУ¬Õâ¿ÉÒÔ¼õÉÙÒ»¸öhttpÇëÇóµÄ¿ªÏú¡£ÀýÈ磺

<script type="text/javascript"> 
2 function loadScript(url, callback){
3 var script = document.createElement ("script");
4 ¡¡ script.type = "text/javascript";
5
6 if (script.readyState){ //IE script.onreadystatechange = function(){
7 if (script.readyState == "loaded" || script.readyState == "complete"){
8 script.onreadystatechange = null;
9 callback();
10 }
11 };
12 } else { //Others
13 script.onload = function(){
14 ¡¡¡¡callback();
15 };
16 }
17 script.src = url;
18 document.getElementsByTagName("head")[0].appendChild(script);
19 }
20
21 loadScript("the-rest.js", function(){
22 ¡¡¡¡Application.init();
23 });
24 </script>

Ò»µ©Ò³Ãæ³õʼ»¯´úÂëÏÂÔØÍê³É£¬»¹¿ÉÒÔʹÓÃloadScript()º¯Êý¼ÓÔØÒ³ÃæËùÐèµÄ¶îÍ⹦Äܺ¯Êý¡£

½éÉÜÒ»¸öͨÓõŤ¾ß£¬Yahoo! SearchµÄRyan Grove´´½¨ÁËLazyLoad¿â£¨²Î¼û£ºhttp://github.com/rgrove/lazyload/£©¡£LazyLoadÊÇÒ»¸öÇ¿´óµÄloadScript()º¯Êý¡£LazyLoad¾«ËõÖ®ºóÖ»ÓдóÔ¼1.5KB¡£Ó÷¨¾ÙÀýÈçÏ£º

<script type="text/javascript" src="lazyload-min.js"></script> 
2 <script type="text/javascript">
3 ¡¡¡¡LazyLoad.js("the-rest.js", function(){
4 ¡¡¡¡¡¡¡¡Application.init();
5 ¡¡¡¡});
6 </script>

Summary ×ܽá

1.½«ËùÓÐ<script>±êÇ©·ÅÖÃÔÚÒ³Ãæµ×²¿£¬½ô¿¿¹Ø±Õ±êÇ©</body>µÄÉÏ·½¡£´Ë·½·¨¿ÉÒÔ±£Ö¤Ò³ÃæÔڽű¾ÔËÐÐ֮ǰÍê³É½âÎö¡£

2.½«½Å±¾³É×é´ò°ü¡£Ò³ÃæµÄ<script>±êǩԽÉÙ£¬Ò³ÃæµÄ¼ÓÔØËٶȾÍÔ½¿ì£¬ÏìÓ¦Ò²¸üѸËÙ¡£²»ÂÛÍⲿ½Å±¾Îļþ»¹ÊÇÄÚÁª´úÂë¶¼ÊÇÈç´Ë¡£

3.Óм¸ÖÖ·½·¨¿ÉÒÔʹÓ÷Ç×èÈû·½Ê½ÏÂÔØJavascript£º

1£©Îª<script>±êÇ©Ìí¼ÓdeferÊôÐÔ

2£©¶¯Ì¬´´½¨<script>ÔªËØ£¬ÓÃËüÏÂÔØ²¢Ö´ÐдúÂë

3£©ÓÃXHR¶ÔÏóÏÂÔØ´úÂ룬²¢×¢Èëµ½Ò³Ãæ

ͨ¹ýÉÏÊö²ßÂÔ£¬¿ÉÒÔ¼«´óÌá¸ßÄÇЩʹÓÃJavascript´úÂëµÄÍøÓÑÓ¦ÓõÄʵ¼ÊÐÔÄÜ¡£

   
2206 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕ Ïà¹ØÎĵµ Ïà¹Ø¿Î³Ì



Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

AndroidÊÖ»ú¿ª·¢£¨Ò»£©
Àí½âJavascript
·ÇµäÐÍajaxʵ¼ù
³¹µ×µÄAjax
javascript ʹÓÃCookies
ʹÓà jQuery ¼ò»¯ Ajax ¿ª·¢


Struts+Spring+Hibernate
»ùÓÚJ2EEµÄWeb 2.0Ó¦Óÿª·¢
J2EEÉè¼ÆÄ£Ê½ºÍÐÔÄܵ÷ÓÅ
Java EE 5ÆóÒµ¼¶¼Ü¹¹Éè¼Æ
Javaµ¥Ôª²âÊÔ·½·¨Óë¼¼Êõ
Java±à³Ì·½·¨Óë¼¼Êõ


ijº½¿Õ¹«Ë¾IT²¿ JavaScriptʵ¼ù
ijµçÊÓÈí¼þ HTML5ºÍJavaScript
Öк½ÐÅ JavaScript¸ß¼¶Ó¦Óÿª·¢
´óÇìÓÍÌï web½çÃæAjax¿ª·¢¼¼Êõ
ºÍÀûʱ ʹÓÃAJAX½øÐÐWEBÓ¦Óÿª·¢