ÓÐÒ»¶Î12ÐеÄJavaScript´úÂ룬¿ÉÒÔÈÃFirefox¡¢Chrome¡¢Safariä¯ÀÀÆ÷±ÀÀ££¬¶øÇÒ»¹ÄÜÈÃiPhoneÖØÆô¡¢°²×¿ÉÁÍË£¬±¾ÎÄ×÷Õß¶ÔÕâ12ÐдúÂë½øÐÐÁË·ÖÎö½â¶Á²¢ÇÒÌá³öÁËÏàÓ¦µÄ·ÀÓù°ì·¨£¬»¶Ó´ó¼Òһͬ̽ÌÖ¡£
AjaxÓëpjaxAjax¼´¡°Asynchronous Javascript And XML¡±£¨Òì²½JavaScriptºÍXML£©£¬ÊÇÒ»ÖÖÓÃÓÚ´´½¨¿ìËÙ¶¯Ì¬ÍøÒ³µÄ¼¼Êõ¡£Í¨¹ýÔÚºǫ́Óë·þÎñÆ÷½øÐÐÉÙÁ¿Êý¾Ý½»»»£¬Ajax¿ÉÒÔÊ¹ÍøÒ³ÊµÏÖÒì²½¸üС£ÕâÒâζ×Å¿ÉÒÔÔÚ²»ÖØÐ¼ÓÔØÕû¸öÍøÒ³µÄÇé¿öÏ£¬¶ÔÍøÒ³µÄij²¿·Ö½øÐиüÐÂÎÞˢвÙ×÷¡£
µ«ÊÇ£¬AjaxÓ¦ÓÃÒ²»áÔì³ÉÁíÍâµÄÎÊÌ⣬ÈÝÒ×µ¼ÖÂä¯ÀÀÆ÷ÎÞ·¨Ç°½øÓëºóÍË£¬ÕâÊǸöºÜÍ·ÌÛµÄÎÊÌ⣬¿ª·¢ÈËÔ±±ØÐëÔö¼Ó¹¤×÷Á¿(±ÈÈçͨ¹ýÒ»¸öÒþ²ØµÄiframe£¬»òÕ߸ıälocation.hashÖµµÈ·½·¨)À´½â¾ö¡£
ΪÁ˽â¾ö´«Í³Ajax´øÀ´µÄÎÊÌ⣬HTML5ÀïÒýÈëÁËеÄAPI£ºhistory.pushState£¬ËüºÍAjax½áºÏºó£¬ÓиöеijƺôÊÇpjax¡£ÊÇÒ»ÖÖ»ùÓÚAjax+history.pushStateµÄм¼Êõ£¬¸Ã¼¼Êõ¿ÉÒÔÎÞˢиıäÒ³ÃæµÄÄÚÈÝ£¬²¢ÇÒ¿ÉÒԸıäÒ³ÃæµÄURL¡£pjaxÊÇAjax+pushStateµÄ·â×°£¬Í¬Ê±Ö§³Ö±¾µØ´æ´¢¡¢¶¯»µÈ¶àÖÖ¹¦ÄÜ¡£Ä¿Ç°Ö§³Öjquery¡¢qwrap¡¢kissyµÈ¶àÖÖ°æ±¾¡£

HTML5.history.pushStateHTML5¿ÉÒÔͨ¹ýpushStateºÍreplaceState½Ó¿Ú²Ù×÷ä¯ÀÀÆ÷ÀúÊ·£¬²¢ÇÒ¸Ä±äµ±Ç°Ò³ÃæµÄURL¡£
pushStateÊǽ«Ö¸¶¨µÄURLÌí¼Óµ½ä¯ÀÀÆ÷ÀúÊ·À´æ´¢µ±Ç°ÀúÊ·¼Ç¼µã¡£replaceStateÊǽ«Ö¸¶¨µÄURLÌæ»»µ±Ç°µÄURL¡£Í¬Ê±£¬ÕâЩ·½·¨»áºÍwindow.onpostateʼþÒ»Æð¹¤×÷¡£
history.pushState(data, title, url)£ºÍùÀúÊ·¼Ç¼¶ÑÕ»¶¥²¿Ìí¼ÓÒ»Ìõ¼Ç¼£»data»áÔÚonpopstateʼþ´¥·¢Ê±×÷Ϊ²ÎÊý´«µÝ¹ýÈ¥£»titleÎªÒ³Ãæ±êÌ⣬µ±Ç°ËùÓÐä¯ÀÀÆ÷Ò»°ã¶¼»á
ºöÂԴ˲ÎÊý£»URLÎªÒ³ÃæµØÖ·£¬¿ÉÑ¡£¬È±Ê¡Îªµ±Ç°Ò³µØÖ·¡£¾ßÌåϸ½Ú£º
state£º¶ÔÏóÊÇÒ»¸öJavaScript״̬¶ÔÏ󣬼ǼÀúÊ·¼Ç¼µãµÄ¶îÍâ¶ÔÏ󣬿ÉÒÔΪ¿Õ¡£Ëü¹ØÏµµ½ÓÉpushState()·½·¨´´½¨³öÀ´µÄеÄhistoryʵÌå¡£ÓÃÒÔ´æ´¢¹ØÓÚÄãËùÒª²åÈëµ½ÀúÊ·¼Ç¼µÄÌõÄ¿µÄÏà¹ØÐÅÏ¢¡£
title£ºËùÓÐä¯ÀÀÆ÷Ò»°ã¶¼»á ºöÂԴ˲ÎÊý£¬ËäÈ»Ëü¿ÉÄܽ«À´»á±»Ê¹ÓÃÉÏ¡£¶øÏÖÔÚ×ȫµÄʹÓ÷½Ê½ÊÇ´«Ò»¸ö¿Õ×Ö·û´®£¬ÒÔ·ÀÖ¹½«À´µÄÐ޸쬻òÕß¿ÉÒÔ´«Ò»¸ö¼ò¶ÌµÄ±êÌâÀ´±íʾstate¡£
URL£ºÕâ¸ö²ÎÊýÓÃÀ´´«µÝеÄhistoryʵÌåµÄURL£¬ÐµÄURL±ØÐëºÍÏÖÓеÄURLͬÓò£¬·ñÔòpushState()½«Å׳öÒì³£¡£Õâ¸ö²ÎÊýÊÇÑ¡ÌîµÄ£¬Èç¹ûΪ¿Õ£¬Ôò»á±»ÖÃΪdocumentµ±Ç°µÄURL¡£
Ê®¶þÐдúÂë·ÖÎö
<html> <body> <script> var total=""; for (var i=0;i<1000000;i++) { total= total+i.toString(); history.pushState(0,0,total); } </script> </body> </html> |
ÉÏͼ¾ÍÊÇÊ®¶þÐдúÂ룬¹Ø¼üµãÔÚÓÚÕë¶ÔtotalÕâ¸öURLµÄÑ»·£ºhistory.pushState(0,0,total)£»²»Í£µÄÔÚÐÞ¸ÄURL£¬Ñ»·ÁË1,000,000´Î£¬²»Í£µÄÏòÀúÊ·¼Ç¼¶ÑÕ»ÖÐÐÂÔö¼Ç¼£¬»áµ¼ÖÂCPUºÍÄÚ´æÕ¼ÓÃÂʹý¸ßÒÔ¼°Firefox£¬Chrome£¬Safariä¯ÀÀÆ÷±ÀÀ££¬¶øÇÒ»¹ÄÜÈÃiPhoneÖØÆô¡£
·ÖÎö½á¹û

ÔÚXPÐéÄâ»ú(i7µ¥ºË3.4G¡¢512ÄÚ´æ) Ç××Ôʵ²â£º
µ±ÉÏÃæÄǸöÑ»·´ÎÊýΪʮÍòÒÔÉϼ¶±ðµÄʱºò£¬CPU£¬ÄÚ´æÊ¹ÓÃÂÊ˲¼ä100%£¬È»ºó±ÀÀ£ËÀ»ú£»
µ±ÉÏÃæÄǸöÑ»·´ÎÊýËõСµ½10000×óÓÒµÄʱºò£¬CPU£¬ÄÚ´æÊ¹ÓÃÂÊ´ó¸ÅÔÚ20ÃëÄÚÖð½¥Éý¸ßÖÁ100%£¬È»ºó±ÀÀ£ËÀ»ú£»
µ±ÉÏÃæÄǸöÑ»·´ÎÊýËõСµ½500×óÓÒµÄʱºò£¬ CPUʹÓÃÂÊÖð½¥Éý¸ßµ½´ï100%ºó£¬ÔÙ´Î˲¼ä»Ö¸´µ½Îȶ¨×´Ì¬£¬ÄÚ´æÊ¹ÓôÓ130M×óÓÒÉý¸ßÖÁ230M×óÓÒ£¬¶ø´ò¿ªµÄ192.168.56.106/12.htmlÕâ¸öÒ³Ãæºó£¬µØÖ·À¸ÀïÃæµÄÁ´½ÓÒ²±ä³ÉÁË£º192.168.56.106/0123456789101112131415161718192021¡¡494495496497498499
¿É¼û£¬Í¨¹ýÑ»·²»Í£µÄÏòÏòÀúÊ·¼Ç¼¶ÑÕ»ÖÐÐÂÔö¼Ç¼µÄͬʱ£¬Ò³Ãæ»áˢе½Ìø×ªµÄеØÖ·£¬¾ÍÊÇÑ»·ÀÛ¼ÓµÄÒ»¸ö¡°Î±µØÖ·¡±£¬µ±Õâ¸ö³¤¶È³¬ÏÞµÄʱºò£¬¾Í»áÒýÆðDOSÁË£¬¹¥»÷µÄЧ¹ûºÍЧÂÊÍêȫȡ¾öÓÚÑ»·µÄ´ÎÊýºÍÄ¿±êµÄÓ²¼þÅäÖá£
Ïà¹ØµÄ·ÀÓùÏàÐÅ´ó¼ÒµÄ°²È«ÒâʶÒѾ·Ç³£µÄÇ¿º·ÁË£¬µ«ÊÇ»¹ÊÇÒª¾¯ÖÓ³¤Ãù£¬²»ÒªÇáÐÅÈκÎİÉúÈËͨ¹ýÈκη½Ê½·¢¸øÄãµÄÁ´½Ó¡¢¸½¼þ¡¢Óʼþ¡¢Í¼Æ¬µÈÈκÎÐÅÏ¢£¬µ±È»²»ÅųýºÃ»ùÓÑÃÇ¡¢ËðÓÑÃǵĶñ×÷¾çÁË£¬ËùÒÔС»ï°é¶ùÃǼǵþ³£Ctrl+SŶ£¬·ñÔò±»¸ãËÀ»úÁËÒ²»áºÜÓôÃÆµÄ¡£
»¥ÁªÍø×Ôµ®ÉúÖ®ÈÕÆð£¬¾Í±©Â¶Ôںڿ͹¥»÷֮ϣ¬ÔçÆÚµÄºÚ¿Í¹¥»÷¶àÉÙ»¹´øÓм¼ÊõÊÔÑéºÍìÅÒ«µÄÄ¿µÄ£¬µ«Ëæ×ÅÈ«Çò»¥ÁªÍø»ù´¡ÉèÊ©¹æÄ£µÄ׳´ó¡¢Á¬½ÓµÄÎÞÏÞÔö³¤ºÍÓû§ÊýµÄ¼±¾çÅòÕÍ£¬ºÚ¿Í¹¥»÷ƵÂÊÒ²ÏàÓ¦Ôö¼Ó£¬ºÚ¿Í¼¼ÊõÒ²ÔÚ²»¶ÏµÄ·¢Õ¹£¬Öð½¥³öÏÖÁËÒÔ·Ç·¨»ñÈ¡¾¼ÃÀûÒæÎªÄ¿µÄµÄºÚÉ«²úÒµÁ´¡£Õë¶Ô»¥ÁªÍø°²È«·À»¤µÄ¼¼Êõˮƽ¸üÊÇÍ»·ÉÃͽø£¬µÀ¸ßÒ»³ßħ¸ßÒ»ÕÉ£¬¹¥Óë·À£¬ÔÚÕâ¸ö»¥ÁªÍøÊ±´úÿ·ÖÿÃë¶¼ÕýÔÚ·¢Éú×Å¡£
µ±È»£¬»¥ÁªÍø³äÂú×ÅÐÅÏ¢°²È«Íþв£¬ÍøÂ簲ȫ·À»¤£¬Æß·Ö¿¿¼¼Êõ£¬Èý·Ö¿¿Òâʶ£¬Òª·À»¤ÕâЩÎÊÌ⣬µ¥´¿ÒÀ¿¿°²È«³§É̵IJúÆ·ºÍ·þÎñÊÇÔ¶Ô¶²»¹»µÄ£¬ÍøÂ簲ȫÒâʶµÄÌá¸ß²»¿ÉºöÊÓ¡£
±ÈÈ磺עÒâ¸öÈËÃÜÂëµÄ¹ÜÀí¡¢×¢Òâ¸öÈËÒþ˽µÄ±£»¤¡¢²»ÒªÇáÒ×½ÓÈ빫¹²µÄwifi¡¢²»ÒªÇáÒ×ÏàÐÅİÉú/ÊìϤÅóÓѵÄÁ´½Ó»òÕßÎļþµÈ¡¢×¢ÒâÒÆ¶¯Ö§¸¶µÄ°²È«¡¢²»ÒªÈÃÉ豸¡°Âã±¼¡±µÈµÈ¡£
|