Óû§ÊäÈ롣һЩWebÓ¦ÓÃÌṩһ¸ö½Ó¿ÚÈÃÓû§ÊäÈëµØÖ·¡¢ÓÊÕþ±àÂë»òÑ¡ÔñËùÔÚµÄÇøÓò£¬¿ÉÒÔʹÓÃÕâЩÐÅÏ¢»ñµÃλÖÃÐÅÏ¢£¬ÕâÑù¾Í¿ÉÒÔ±ÜÃâÎó²î·¶Î§Ì«´ó»òÑÓ³Ùʱ¼äÌ«¾Ã£¬ÕâÒ²ÊÇÒ»ÖÖʵÓõĶ¨Î»·½·¨¡£
£¨2£©¼òÊöGeolocation APIÖÐÃèÊöµØÀíλÖÃÐÅÏ¢µÄÊôÐÔ¼°Æäº¬Òå¡£
ÔÚGeolocation APIµÄPosition¶ÔÏ󣨻òÕâ¸ö¶ÔÏóµÄÊôÐÔ£©ÖУ¬ÓеØÀíλÖÃÐÅÏ¢µÄÊôÐÔ¼°ÃèÊö¡£Èç¹ûÊý¾Ý²»¿ÉÓ㬽«·µ»ØnullÖµ¡£
ÊôÐÔ latitude longitude accuracy altitude altitudeAccurancy heading timestamp µ±Ç°µØÀíλÖõÄγ¶ÈÐÅÏ¢ µ±Ç°µØÀíλÖõľ¶ÈÐÅÏ¢ ¾¶ÈºÍγ¶ÈµÄ׼ȷ¶È£¬ÊǼà²âµÄλÖÃÓëʵ¼ÊλÖõÄÎó²î·¶Î§£¨ÒÔÃ×Ϊµ¥Î»£© µ±Ç°µØÀíλÖõĺ£°Î¸ß¶È(ÒÔÃ×Ϊµ¥Î») »ñÈ¡µ½µÄº£°Î¸ß¶ÈµÄ¾«¶È(ÒÔÃ×Ϊµ¥Î») É豸µÄǰ½ø·½Ïò£¬ÓÃÃæ³¯Õý±±·½ÏòµÄ˳ʱÕëÐýת½Ç¶ÈÀ´±íʾ »ñÈ¡µØÀíλÖÃÐÅÏ¢µÄʱ¼äÐÅÏ¢ ÃèÊö ÕâЩÊôÐÔ·â×° £¨3£©Geolocation APIµÄgetCurrentPosition()ºÍwatchPosition()·½·¨ÓÐÊ²Ã´Çø±ð£¿
getCurrentPosition()ÓÃÀ´»ñÈ¡Óû§µ±Ç°Î»ÖõĵØÀíÐÅÏ¢£¬watchPosition()¿ÉÒÔ¼àÌýºÍ¸ú×ÙÓû§µÄµØÀíλÖÃÐÅÏ¢£¬¿ÉÒÔÔÚµØÍ¼ÉϳÖÐø±ê¼ÇÓû§µÄ»î¶¯Â·¾¶¡¢¼ÆËãÒÆ¶¯¾àÀëµÈ¡£
2£®²Ù×÷Ìâ
£¨1£©Éè¼ÆÒ»¸öÍøÒ³£¬ÔÚGoogle¾²Ì¬µØÍ¼Éϱê×¢Óû§µ±Ç°µÄµØÀíλÖÃÐÅÏ¢£¨ÓÃγ¶ÈºÍ¾¶È±íʾ£©¡£
²Î¿¼Ê¾Àý8-3Íê³É¡£
£¨2£©Éè¼ÆÒ»¸öÍøÒ³»ñÈ¡Óû§µ±Ç°Î»ÖÃÐÅÏ¢µÄÈ«²¿Êý¾Ý£¬°üÀ¨Î³¶È¡¢¾¶È¡¢º£°Î¡¢º£°Î¾«¶ÈºÍËٶȵȣ¬Èç¹û²»ÄÜ»ñÈ¡µ±Ç°Î»Ö㬸ø³öÏàÓ¦µÄÌáʾÐÅÏ¢¡£
²Î¿¼Ê¾Àý8-1Íê³É¡£
µÚ¾ÅÕÂ
1£®¼ò´ðÌâ
£¨1£©ÐðÊöÀëÏßWebÓ¦Óù¤×÷»úÖÆ¡£
ÀëÏßWebÓ¦ÓÃÖ¸µÄÊÇä¯ÀÀÆ÷·ÃÎÊ·þÎñÆ÷µÄ¹ý³ÌÖУ¬µ±·þÎñÆ÷ÎÞ·¨Á¬½Óʱ£¬WebÓ¦ÓÃÈÔÈ»¿ÉÒÔÔËÐС£ÀëÏßWebÓ¦Óù¤×÷¹ý³Ì£¬ºËÐÄÊǶÔÓ¦Óûº´æÎļþµÄ½âÎöºÍÖ´ÐС£
¢Ù¿Í»§¶Ëä¯ÀÀÆ÷ÖÐÊäÈëÒª·ÃÎÊÒ³ÃæµÄURLµØÖ·£¬Ïò¸ÃµØÖ·Ö¸ÏòµÄWeb·þÎñÆ÷·¢³öÇëÇó¡£
¢ÚWeb·þÎñÆ÷¸ù¾Ýä¯ÀÀÆ÷ËÍÀ´µÄÇëÇ󣬽«ÇëÇóµÄÎĵµºÍËùÐè×ÊÔ´·µ»Ø¸øä¯ÀÀÆ÷¡£ ¢Ûä¯ÀÀÆ÷½âÎö·µ»ØµÄÎĵµ£¬´¦Àí»òÏÔʾ´ÓWeb·þÎñÆ÷·µ»ØµÄ×ÊÔ´Îļþ¡£Èç¹ûÖ§³ÖÀëÏßWebÓ¦Óã¬Öص㿼²ìmanifest»º´æÎļþ£¬¸ÃÎļþÓÉhtml±ê¼ÇµÄmanifestÊôÐÔÖ¸¶¨¡£¿É·ÖΪÒÔÏÂ3ÖÖÇé¿ö¡£
? ?
Èç¹ûÊǵÚ1´Î·ÃÎÊWeb·þÎñÆ÷£¬ä¯ÀÀÆ÷Ïò·þÎñÆ÷ÇëÇóËùÓÐmanifestÎļþÖÐÉùÃ÷»º´æµÄÎļþµ½±¾µØ£¬Í¬Ê±¸üб¾µØ»º´æ¡£
Èç¹û²»ÊǵÚ1´Î·ÃÎÊWeb·þÎñÆ÷£¬²¢ÇÒmanifestÎļþûÓб»Ð޸ģ¬WebÓ¦Óý«Ê¹Óñ¾µØ±»»º´æµÄÎļþ¡£
? Èç¹û²»ÊǵÚ1´Î·ÃÎÊWeb·þÎñÆ÷£¬²¢ÇÒmanifestÎļþ±»Ð޸Ļò·¢ÉúÁ˰汾±ä»¯£¬ä¯ÀÀÆ÷½«Ïò·þÎñÆ÷ÇëÇómanifestÎļþÖÐÉùÃ÷µÄÎļþ£¬²¢±£´æµ½±¾µØ»º´æ¡£
ÉÏÃæµÄ¹ý³ÌÖ÷ÒªÃæÏòWeb·þÎñÆ÷ÔÚÏßµÄÇé¿ö£¬Èç¹ûÖ§³ÖÀëÏßÓ¦ÓóÌÐòµÄWeb·þÎñÆ÷²»ÔÚÏßʱ£¬ä¯ÀÀÆ÷¾Í»áʹÓÃÒѾÏÂÔØµ½±¾µØ»º´æÖеÄÎļþ£¬´Ó¶øÔÚÀëÏß״̬ÏÂÔËÐÐWebÓ¦ÓóÌÐò¡£
ÀëÏßWebÓ¦ÓõÄÒ»¸öµäÐÍÀý×Ó£¬Óû§¿ÉÒÔÔÚ²»Á¬½ÓWeb·þÎñÆ÷µÄÇé¿öÏ£¬±à¼Ò»¸öÓʼþ»ò²©¿Í£¬²¢½«Æä±£´æÔÚ±¾µØ£¬´ýÏ´ÎÁ¬½ÓWeb·þÎñÆ÷ʱÔÙÍê³ÉÌá½»¹¤×÷¡£
£¨2£©¿ª·¢ÀëÏßWebÓ¦ÓóÌÐòÐèÒªÄÄЩ²½Ö裿
¢ÙÀëÏß×ÊÔ´»º´æ¡£Ê×ÏÈÐèҪȷ¶¨WebÓ¦ÓóÌÐòÀëÏß¹¤×÷ËùÐèµÄ×ÊÔ´Îļþ¡£µ±´¦ÓÚÔÚÏß״̬ʱ£¬ÏÂÔØÕâЩÎļþ²¢»º´æµ½±¾µØ¡£µ±ÀëÏßʱ£¬ä¯ÀÀÆ÷ÎÞ·¨Á¬½ÓWeb·þÎñÆ÷£¬Ôò¿ÉÒÔ×Ô¶¯¼ÓÔØÕâЩ×ÊÔ´Îļþ£¬´Ó¶øÊµÏÖÀëÏß·ÃÎÊÓ¦ÓóÌÐò¡£ÔÚHTML5ÖУ¬Í¨¹ýmanifestÎļþÇåµ¥Ö¸Ã÷ÐèÒª»º´æµÄ×ÊÔ´¡£
¢Ú¼ì²âÔÚÏß״̬¡£ÔÚÖ§³ÖÀëÏßµÄWebÓ¦ÓóÌÐòÖУ¬ä¯ÀÀÆ÷Ó¦¸ÃÅжÏÔÚÏß»òÀëÏßµÄ״̬£¬²¢×ö³ö¶ÔÓ¦µÄ´¦Àí¡£
¢Û±¾µØÊý¾Ý´æ´¢¡£ÔÚÀëÏßʱ£¬WebÓ¦ÓóÌÐòÐèÒªÄܹ»°ÑÊý¾Ý´æ´¢µ½±¾µØ£¬ÒÔ±ãÒÔºóÔÚÏßʱ¿ÉÒÔͬ²½µ½Web·þÎñÆ÷ÉÏ¡£
£¨3£©manifest»º´æÎļþÇåµ¥µÄÄÚÈݾßÌå°üÀ¨ÄÄЩѡÏ¹¦ÄÜÊÇʲô£¿
manifest»º´æÎļþÊÇÀëÏßWebÓ¦ÓõĹؼü£¬¸ÃÎļþÇåµ¥µÄÄÚÈݾßÌå˵Ã÷ÈçÏ¡£
manifestÎļþµÚÒ»ÐбØÐëÊÇCACHE MANIFEST£¬ÎļþÀ©Õ¹Ãû½¨ÒéʹÓÃappcache£¬Ò²¿É
ÒÔʹÓÃmanifest¡£
CACHE£ºÖ¸¶¨ÐèÒª»º´æµÄÎļþ£¬Çåµ¥ÖÐÁгöµÄÎļþÔÚÊ״ηÃÎÊWeb·þÎñÆ÷½øÏÂÔØ²¢»º
´æ¡£
NETWORK£ºÖ¸¶¨µÄÎļþÐèÒªÓë·þÎñÆ÷Á¬½Ó²ÅÄÜ»ñÈ¡£¬²»»á±»»º´æ¡£ *ÊÇÎļþͨÅä·û£¬
´ú±í³ýÁËÔÚCACHEÖÐÖ¸Ã÷µÄÎÄÍâ¼þ£¬ËùÓÐÆäËûÎļþ¶¼²»»º´æ£¬ÐèÒª´ÓWeb·þÎñÆ÷»ñµÃ¡£
FALLBACK£ºÔÚ´ËÑ¡ÏîÏÂÁгöµÄÎļþµ±Ò³ÃæÎÞ·¨·ÃÎÊʱ£¬Ê¹Óñ¸ÓõÄ×ÊÔ´Îļþ¡£ Îļþ±àÂë±ØÐëÊÇutf-8¡£
ʵÏÖÓ¦Óûº´æ£¬ÐèÒªÔÚ±ê¼ÇÖж¨ÒåmanifestÊôÐÔ£¬´Ó¶øÔÚÍøÒ³ÖÐÒýÓÃmanifestÎļþ£¬ÀýÈ磺
ÔÚ·ÃÎÊÍøÒ³Ê±£¬°´ÕÕtest. appcacheÎļþÖÐÖ¸¶¨µÄÎļþÁÐ±í½øÐлº´æ¡£ÔÚһЩWeb·þÎñÆ÷ÉÏ¿ÉÄÜÐèÒªÅäÖöÔmanifestÎļþµÄÖ§³Ö£¬±£´æºóÐèÒªÖØÐÂÆô¶¯Web·þÎñÆ÷¡£¾ßÌåÇë²ÎÔÄÏàÓ¦µÄWeb·þÎñÆ÷Êֲᡣ
£¨4£©Web Storage APIÖеÄlocalStorageºÍsessionStorageÇø±ðÊÇʲô£¿
Web StorageÌṩÁ½ÖÖ·½Ê½½«Êý¾Ý±£´æÔÚ¿Í»§¶Ë£ºÒ»ÖÖÊÇlocalStorage£¬ÁíÒ»ÖÖÊÇsessionStorage¡£´ÓÁ½ÖÖ´æ´¢·½Ê½µÄÃû×Ö¿ÉÒÔ¿´³ö£¬localStorage±»³Æ×ö±¾µØ´æ´¢£¬½«Êý¾Ý±£´æÔÚ¿Í»§¶Ë±¾µØ£»sessionStorage±»³ÆÎª»á»°´æ´¢£¬½«Êý¾Ý±£´æÔÚsessionÖУ¬ä¯ÀÀÆ÷¹Ø±Õºósession¶ÔÏóÏûʧ¡£Á½ÕßµÄÖ÷Òª²îÒìÔÚÓÚÊý¾ÝµÄ±£´æÖÜÆÚºÍÓÐЧ·¶Î§£¬ÈçÏÂËùʾ¡£
Web StorageÀàÐÍ localStorage sessionStorage Êý¾Ý±£´æÖÜÆÚ Êý¾Ý±£´æÔÚ±¾µØ´æ´¢£¨Ó²ÅÌ£©£¬ÍøÒ³¹Ø±Õºó£¬Êý¾ÝÈÔÈ»´æÔÚ£¬Ö´ÐÐɾ³ýÃüÁîºóÊý¾Ý»áÏûʧ¡£ Êý¾ÝÁÙʱ±£´æÔÚsession¶ÔÏóÖУ¬ÔÚÍøÒ³ä¯ÀÀÆÚ¼ä´æÐø£¬ÍøÒ³¹Ø±Õ£¬Êý¾Ý¶ªÊ§ ÓÐЧ·¶Î§ Í¬Ò»ÍøÕ¾µÄÍøÒ³¿ÉÒÔ·ÃÎÊ ½ö¶Ôµ±Ç°ä¯ÍøÒ³¿ÉÒÔ·ÃÎÊ
£¨5£©Web Storage APIÓÐÄÄЩ³£Ó÷½·¨£¬¹¦ÄÜÊÇʲô£¿
sessionStorageºÍlocalStorage¿ÉʹÓõÄAPI¶¼Ïàͬ£¬Æä¹¦ÄܰüÀ¨±£´æÊý¾Ý¡¢¶ÁÈ¡Êý¾Ý¡¢É¾³ý
Êý¾Ý¡¢µÃµ½Ë÷ÒýµÄkeyÖµµÈ¡£
localStorage ºÍsessionStoragey¶¼Ê¹ÓÃsetItem()·½·¨ÓÃÀ´±£´æÊý¾Ý£¬¸ñʽÈçÏ£º localStorage.setItem(\
localStorageºÍsessionStoragey¶¼Ê¹ÓÃgetItem()·½·¨ÓÃÀ´¶ÁÈ¡Êý¾Ý£¬¸ñʽÈçÏ£º var value = localStorage.getItem(\
ɾ³ýÊýµ¥¸öÊý¾ÝÐèÒªÖ¸Ã÷ɾ³ýµÄkeyÖµ£¬ÐÎʽÈçÏ¡£Èç¹ûkey²ÎÊýûÓжÔÓ¦Êý¾Ý£¬Ôò²»Ö´ÐÐÈκβÙ×÷¡£
localStorage.removeItem(\
ÊDZéÀúStorage¶ÔÏóʱ£¬ÐèҪʹÓÃkey(index)·½·¨ÔÊÐí»ñȡһ¸öÖ¸¶¨Î»ÖõļüÖµ¡£Óï·¨¸ñʽ localStorage.key(index);
2£®²Ù×÷Ìâ
£¨1£©²Î¿¼Ê¾Àý9-5ʹÓÃlocalStorageʵÏÖÒ»¸ö¼ÆÊýÆ÷¹¦ÄÜ£¬ÏÈÔÚͬһä¯ÀÀÆ÷µÄ²»Í¬Ò³Ãæ·ÃÎÊ£¬ÔÙÔÚ²»Í¬ä¯ÀÀÆ÷µÄÒ³Ãæ·ÃÎÊ£¬¹Û²ìÒ³ÃæÏÔʾ½á¹û¡£
localStorageÎĵµ
Session¼ÆÊýÆ÷
//script03.js
function saveStorage(id){
var data = document.getElementById(id).value; var time = new Date().getTime(); //alert(time);
localStorage.setItem(time,data); alert(\Êý¾ÝÒѱ£´æ¡£\
loadStorage('msg'); }
function loadStorage(id){
var result = '
| ' + value + ' | ' + datestr + ' |
var target = document.getElementById(id); target.innerHTML = result; }
function clearStorage(){ localStorage.clear();
alert(\È«²¿Êý¾Ý±»Çå³ý¡£\ loadStorage('msg'); }
µÚÊ®ÕÂ
1£®¼ò´ðÌâ
£¨1£©Web Workers APIÖг£Óõķ½·¨ºÍʼþÓÐÄÄЩ£¿¸÷×Ô¹¦ÄÜÊÇʲô£¿
Web Workers×÷ΪһÖÖºǫִ́ÐеÄỊ̈߳¬ËüµÄ¹¦ÄܰüÀ¨´´½¨Ị̈߳¬Ïß³ÌÓëǰ¶ËÒ³ÃæµÄÊý¾Ý½»»¥£¬Ï̱߳¾ÉíÕ¼ÓôóÁ¿ÄÚ´æ×ÊÔ´£¬±¾ÉíÒ²ÐèÒª¹Ø±Õ»òÏú»Ù¡£HTML5µÄWeb Workers APIÖеķ½·¨ºÍʼþ¾ÍÊǶÔÉÏÃæµÄ¹¦ÄܽøÐÐÁË·â×°¡£Ê¹ÓÃWeb Workers API£¬Óû§¿ÉÒÔºÜÈÝÒ׵ش´½¨ÔÚºǫ́ÔËÐеÄÏß³Ì(Worker)£¬²¢Íê³ÉÊý¾Ý½»»¥ºÍÖÕÖ¹Ï̡߳£Web Workers³£Óõķ½·¨ºÍʼþϱíËùʾ¡£
·½·¨/ʼþ Worker()·½·¨ postMessage()·½·¨ terminate()·½·¨ close()·½·¨ setTimeout()·½·¨ setInterval ()·½·¨ onmessageʼþ ¹¹ÔìÆ÷£¬ÓÃÓÚ´´½¨Ïß³Ì ÓÃÓÚ·¢ËÍÐÅÏ¢ ÖÕÖ¹Ị̈߳¬²¢ÊÍ·Åä¯ÀÀÆ÷/¼ÆËã»ú×ÊÔ´ ½áÊøÏß³Ì ÔÚÏß³ÌÖÐʵÏÖ¶¨Ê±´¦Àí ÔÚÏß³ÌÖÐʵÏÖ¶¨Ê±´¦Àí »ñµÃ½ÓÊÕÏûÏ¢µÄʼþ¾ä±ú ¹¦ÄÜ
£¨2£©ÊµÏÖÇ°Ì¨Ò³ÃæÓëºǫ́Ï̻߳¥Ïà´«µÝÊý¾ÝÓÐÄļ¸ÖÖ·½·¨£¿Çëд³ö´úÂë¡£
ͨ¹ý·¢ËͺͽÓÊÕÏûÏ¢À´ÊµÏÖÇ°ÃæÒ³ÃæÓëºǫ́Ï̻߳¥Ïà´«µÝÊý¾Ý¡£Èç¹ûÏë½ÓÊÕÏûÏ¢£¬ÓÃÏÂÃæ·½Ê½Ö®Ò»¡£
µÚ1ÖÖ·½·¨£¬Í¨¹ý»ñÈ¡Worker¶ÔÏóµÄonmessageʼþµÄ¾ä±ú¿ÉÒÔÔÚºǫ́Ïß³ÌÖнÓÊÕÏûÏ¢£¬´úÂëÈçÏ¡£·½·¨µÄ»Øµ÷º¯ÊýµÄ²ÎÊý£¨ÏÂÃæ´úÂëÖеÄevent£©ÖУ¬ÓÐÏ߳̽»»¥µÄÊý¾Ý¡£
worker.onmessage=function(event) { //ÏûÏ¢´¦Àí£¬Êý¾ÝΪevent.data }
µÚ2ÖÖ·½·¨£¬Ê¹ÓÃaddEventListener()·½·¨¶Ômessageʼþ½øÐмàÌý¡£ work.addEventListener(\
//document.getElementById(¡®message¡¯).innerHTML=e.data; //ÏûÏ¢´¦Àí£¬Êý¾ÝΪevent.data },false);
Èç¹ûÏëÒª·¢ËÍÏûÏ¢£¬ ÐèҪʹÓÃpostMessage()·½·¨¡£Ê¹ÓÃWorker¶ÔÏóµÄpostMessag()·½·¨À´·¢ËÍÏûÏ¢£¬´úÂëÈçÏ¡£·¢Ë͵ÄÏûÏ¢ÊÇÎı¾Êý¾Ý£¬Ò²¿ÉÒÔÊÇJSON¡£
worker.postMessage(message);
£¨3£©SharedWorkerºÍWorkerÓÐÊ²Ã´Çø±ð£¿
HTML5 ÖÐµÄ Web Worker·ÖΪÁ½ÖÖ²»Í¬Ïß³ÌÀàÐÍ£¬Ò»ÖÖ³ÆÎª×¨ÓÃỊ̈߳¨Dedicated Worker£©£¬ÁíÍâÒ»ÖÖ¾ÍÊǹ²ÏíÏß³Ì Shared Worker¡£SharedWorkerÒ²ÊÇWorker£¬µ«¶à¸öÒ³Ãæ¿ÉÒÔ¹²ÓÃÒ»¸öSharedWorkerºǫ́Ị̈߳¬²¢ÇÒ¿Éͨ¹ý¸Ãºǫ́Ï̹߳²ÏíÊý¾Ý¡£
´´½¨SharedWorkerÏ̵߳ķ½·¨ÓëÇ°Ãæ´´½¨WorkerÏ̵߳ķ½·¨ÀàËÆ£¬Ö»Êǹ¹ÔìÆ÷ÂÔÓÐÇø±ð¡£´úÂëÈçÏ¡£var worker=new SharedWorker(url, [name]);
¸Ã·½·¨µÚÒ»¸ö²ÎÊýÓÃÓÚÖ¸¶¨ºǫ́Ïß³ÌÎļþµÄURLµØÖ·£¬¸Ã½Å±¾ÎļþÖж¨ÒåÁËÔÚºǫ́Ïß³ÌÖÐËùÒªÖ´ÐеĴ¦Àí£¬µÚ¶þ¸ö²ÎÊýΪ¿ÉÑ¡²ÎÊý£¬ÓÃÓÚÖ¸¶¨WorkerµÄÃû³Æ¡£µ±Óû§´´½¨¶à¸öSharedWorker¶ÔÏóʱ£¬½Å±¾³ÌÐò½«¸ù¾Ý´´½¨SharedWorker¶ÔÏóʱʹÓõÄurl²ÎÊýÖµÓëname²ÎÊýÖµÀ´¾ö¶¨ÊÇ·ñ´´½¨²»Í¬µÄÏ̡߳£
2£®²Ù×÷Ìâ
£¨1£©Ê¹ÓÃWeb WorkerÉè¼Æ¶àÏ̵߳ÄÍøÒ³Ò³Ãæ£¬Ç°Ì¨Ïòºǫ́Ï̷߳¢ËÍ10¸ö0~200µÄËæ»úÊý£»ºǫ́Ï߳̽ÓÊÕÊý¾Ýºó£¬Ñ¡³öÆäÖÐ5µÄ±¶Êý£¬²¢½«Êý¾Ý·¢ËÍÖÁǰ¶ËÒ³Ãæ£»ÓÉǰ¶ËÒ³ÃæÔÚÒ»¸öspan
×î½üä¯ÀÀ
- HTML5¼°CSS3webǰ¶Ë¿ª·¢¼¼ÊõϰÌâ´ð°¸½âÎö
- ½ûÖ¹ÓõØÏîĿĿ¼(2012Äê±¾)È«½â
- 2019ÄêÓ×¶ùÔ°Ô¤·À½áºË²¡¹¤×÷×ܽáword°æ±¾ (4Ò³)
- 2019È«¹úÖп¼ÊýѧÊÔÌâ·ÖÀà»ã±à----·´±ÈÀýº¯Êý
- »ðÐÇʱ´ú½Ì³Ì£ºMaya°æÈý´çÌìÌô´×÷½âÎö
- preziÈ«ÐÂÍêÕû½Ì³Ì prezi½Ì³ÌÈ«ÐÂÕûÀí
- ¸ß˼µ¼Òý-ËÄÄê¼¶µÚÊ®¾Å½²-¸ñµãÓë¸î²¹½Ìʦ°æ
- Æû³µ¹Þ×°¡¢ÔË¡¢Ð¶³ÉÆ·ÓͲÙ×÷¹æ³Ì
- ɽÎ÷Ê¡Ñô¸ßÏØµÚÒ»ÖÐѧ2017-2018ѧÄê¸ßÖÐÓïÎÄÑ¡ÐÞ Íâ¹úС˵ÐÀÉÍ 4¡¶°²¶«Åµ
- ÏúÊÛÈËÔ±ÕÐÆ¸ÎÊÌâ