已阅读5页,还剩288页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
THISTECHNIQUEGOESWAYBEYONDSIMPLEFADEINDHTML,HOWEVERTHEABILITYTOKNOWWHETHERJAVASCRIPTISDISABLED/ENABLEDANDTOAPPLYSTYLESISAHUGEWINFORCAREFULWEBDEVELOPERSEVENTACCESSIBILITYTHEFINALPIECETOTAKEINTOCONSIDERATIONWHENDEVELOPINGAPURELYUNOBTRUSIVEWEBAPPLICATIONISTOMAKESURETHATYOUREVENTSWILLWORKEVENWITHOUTTHEUSEOFAMOUSEBYDOINGTHIS,YOUHELPTWOGROUPSOFPEOPLETHOSEINNEEDOFACCESSIBILITYASSISTANCEVISIONIMPAIREDUSERS,ANDPEOPLEWHODONTLIKETOUSEAMOUSESITDOWNONEDAY,DISCONNECTYOURMOUSEFROMYOURCOMPUTER,ANDLEARNHOWTONAVIGATETHEWEBUSINGONLYAMOUSEITSAREALEYEOPENINGEXPERIENCETOMAKEYOURJAVASCRIPTEVENTSMOREACCESSIBLE,ANYTIMEYOUUSETHECLICK,MOUSEOVER,ANDMOUSEOUTEVENTS,YOUNEEDTOSTRONGLYCONSIDERPROVIDINGALTERNATIVENONMOUSEBINDINGSTHANKFULLYTHEREAREEASYWAYSTOQUICKLYREMEDYTHISSITUATIONCLICKEVENTONESMARTMOVEONTHEPARTOFBROWSERDEVELOPERSWASTOMAKETHECLICKEVENTWORKWHENEVERTHEENTERKEYISPRESSEDTHISCOMPLETELYREMOVESTHENEEDTOPROVIDEANALTERNATIVETOTHISEVENTONEPOINTTONOTE,HOWEVER,ISTHATSOMEDEVELOPERSLIKETOBINDCLICKHANDLERSTOSUBMITBUTTONSINFORMSTOWATCHFORWHENAUSERSUBMITSAWEBPAGEINSTEADOFUSINGTHATEVENT,THEDEVELOPERSHOULDBINDTOTHESUBMITEVENTONTHEFORMOBJECT,ASMARTALTERNATIVETHATWORKSRELIABLYMOUSEOVEREVENTWHENNAVIGATINGAWEBPAGEUSINGAKEYBOARD,YOUREACTUALLYCHANGINGTHEFOCUSTODIFFERENTELEMENTSBYATTACHINGEVENTHANDLERSTOBOTHTHEMOUSEOVERANDFOCUSEVENTSYOUCANMAKESURETHATYOULLHAVEACOMPARABLESOLUTIONFORBOTHKEYBOARDANDMOUSEUSERSMOUSEOUTEVENTLIKETHEFOCUSEVENTFORTHEMOUSEOVEREVENT,THEBLUREVENTOCCURSWHENEVERTHEUSERSFOCUSMOVESAWAYFROMANELEMENTYOUCANTHENUSETHEBLUREVENTASAWAYTOSIMULATETHEMOUSEOUTEVENTWITHTHEKEYBOARDNOWTHATYOUKNOWWHICHEVENTPAIRSBEHAVETHEWAYYOUWANTTHEMTO,YOUCANREVISITLISTING63TOBUILDAHOVERLIKEEFFECTTHATWORKS,EVENWITHOUTAMOUSE,ASSHOWNINLISTING617LISTING617ATTACHINGPAIRSOFEVENTSTOELEMENTSTOALLOWFORACCESSIBLEWEBPAGEUSE/FINDALLTHEELEMENTS,TOATTACHTHEEVENTHANDLERSTOTHEMVARLIDOCUMENTGETELEMENTSBYTAGNAME“A“FORVARI0IELEMENT,/WHICHCHANGESTHESBACKGROUNDTOBLUEWHENTHEUSEREITHER/MOUSESOVERTHELINK,ORFOCUSESONITUSINGTHEKEYBOARDAIONMOUSEOVERAIONFOCUSFUNCTIONTHISSTYLEBACKGROUNDCOLORBLUECHAPTER6NEVENTS1327273CH06FINALQXD11/16/06816AMPAGE132THISPRINTFORCONTENTONLYSIZEWITHOUTHIM,THISPROJECTWOULDNOTHAVEHAPPENEDIDALSOLIKETOTHANKMYTECHNICALEDITOR,DANWEBB,FORTHOROUGHLYCHECKINGMYCODEANDREMINDINGMEOFTHEFINERPOINTSOFTHEJAVASCRIPTLANGUAGEDUETOHISEFFORT,THECODEINTHISBOOKSHOULDWORKASEXPECTEDANDBEPRESENTEDINAWAYTHATISCORRECTANDUNDERSTANDABLEIDLIKETOTHANKMYCOPYEDITOR,JENNIFERWHIPPLE,ANDMYPRODUCTIONEDITOR,LAURAESTERMAN,FORHELPINGTOKEEPTHEBOOKREADABLEANDCOMPREHENSIBLE,ANDFORDEALINGWITHMYMANYFOLLIESANDINCONSISTENCIESIALSOWANTTOTHANKTRACYBROWNCOLLINS,MYPROJECTMANAGER,FORKEEPINGMEINLINE,ORGANIZED,ANDGENERALLYONTOPOFMYDEADLINESIDALSOLIKETOTHANKJULIAWESTANDJOSHKINGFORSTICKINGWITHMETHROUGHTHELONGDAYSANDWEEKSOFWRITING,WHILEIWASSHIRKINGMYOTHERRESPONSIBILITIESJULIAWASBYMYSIDEEVERYDAY,MAKINGSURETHATIALWAYSMETMYDEADLINES,KEEPINGMESTRONG,ANDENCOURAGINGMETOWORKHARDFINALLY,IWOULDLIKETOTHANKMYFAMILYANDFRIENDSFORSUPPORTINGMEANDENCOURAGINGMETHROUGHOUTTHEYEARSXIX7273FMFINALQXD11/16/06803AMPAGEXIX7273FMFINALQXD11/16/06803AMPAGEXXINTRODUCINGMODERNJAVASCRIPTPART1NNN7273CH01FINALQXD11/16/06823AMPAGE17273CH01FINALQXD11/16/06823AMPAGE2MODERNJAVASCRIPTPROGRAMMINGTHEEVOLUTIONOFJAVASCRIPTHASBEENGRADUALBUTPERSISTENTOVERTHECOURSEOFTHEPASTDECADE,THEPERCEPTIONOFJAVASCRIPTHASEVOLVEDFROMASIMPLETOYLANGUAGEINTOARESPECTEDPROGRAMMINGLANGUAGEUSEDBYCORPORATIONSANDDEVELOPERSACROSSTHEGLOBETOMAKEINCREDIBLEAPPLICATIONSTHEMODERNJAVASCRIPTPROGRAMMINGLANGUAGEASITHASALWAYSBEENISSOLID,ROBUST,ANDINCREDIBLYPOWERFULMUCHOFWHATILLBEDISCUSSINGINTHISBOOKWILLSHOWWHATMAKESMODERNJAVASCRIPTAPPLICATIONSSODIFFERENTFROMWHATTHEYUSEDTOBEMANYOFTHEIDEASPRESENTEDINTHISCHAPTERARENTNEWBYANYSTRETCH,BUTTHEIRACCEPTANCEBYTHOUSANDSOFINTELLIGENTPROGRAMMERSHASHELPEDTOREFINETHEIRUSEANDTOMAKETHEMWHATTHEYARETODAYSO,WITHOUTFURTHERADO,LETSLOOKATMODERNJAVASCRIPTPROGRAMMINGOBJECTORIENTEDJAVASCRIPTFROMALANGUAGEPERSPECTIVE,THEREISABSOLUTELYNOTHINGMODERNABOUTOBJECTORIENTEDPROGRAMMINGOROBJECTORIENTEDJAVASCRIPTJAVASCRIPTWASDESIGNEDTOBEACOMPLETELYOBJECTORIENTEDLANGUAGEFROMTHESTARTHOWEVER,ASJAVASCRIPTHAS“EVOLVED”INITSUSEANDACCEPTANCE,PROGRAMMERSOFOTHERLANGUAGESSUCHASRUBY,PYTHON,ANDPERLHAVETAKENNOTEANDBEGUNTOBRINGTHEIRPROGRAMMATICIDIOMSOVERTOJAVASCRIPTOBJECTORIENTEDJAVASCRIPTCODELOOKSANDBEHAVESDIFFERENTLYFROMOTHEROBJECTCAPABLELANGUAGESILLGOINTODEPTH,DISCUSSINGTHEVARIOUSASPECTSOFWHATMAKESITSOUNIQUE,INCHAPTER2,BUTFORNOW,LETSLOOKATSOMEOFTHEBASICSTOGETAFEELFORHOWMODERNJAVASCRIPTCODEISWRITTENANEXAMPLEOFTWOOBJECTCONSTRUCTORSCANBEFOUNDINLISTING11,DEMONSTRATINGASIMPLEOBJECTPAIRINGTHATCANBEUSEDFORLECTURESINASCHOOLLISTING11OBJECTORIENTEDJAVASCRIPTREPRESENTINGALECTUREANDASCHEDULEOFLECTURES/THECONSTRUCTORFOROURLECTURE/TAKESTWOSTRINGS,NAMEANDTEACHERFUNCTIONLECTURENAME,TEACHER/SAVETHEMASLOCALPROPERTIESOFTHEOBJECTTHISNAMENAMETHISTEACHERTEACHER3CHAPTER1NNN7273CH01FINALQXD11/16/06823AMPAGE3/AMETHODOFTHELECTURECLASS,USEDTOGENERATE/ASTRINGTHATCANBEUSEDTODISPLAYLECTUREINFORMATIONLECTUREPROTOTYPEDISPLAYFUNCTIONRETURNTHISTEACHER“ISTEACHING“THISNAME/ASCHEDULECONSTRUCTORTHATTAKESINAN/ARRAYOFLECTURESFUNCTIONSCHEDULELECTURESTHISLECTURESLECTURES/AMETHODFORCONSTRUCTINGASTRINGREPRESENTING/ASCHEDULEOFLECTURESSCHEDULEPROTOTYPEDISPLAYFUNCTIONVARSTR“/GOTHROUGHEACHOFTHELECTURES,BUILDINGUP/ASTRINGOFINFORMATIONFORVARI0IPOINTERTOITANDHAVEITWORKWITHNOCHANGESANUMBEROFTECHNIQUESANDSOLUTIONSEXISTTHATDEVELOPERSUSETOKEEPTHEIRCODECLEANANDUNIVERSALLYCOMPATIBLETHEMOSTPOPULARTECHNIQUEFORKEEPINGYOURCODEFROMINFLUENCINGORINTERFERINGWITHOTHERJAVASCRIPTCODEISTHEUSEOFNAMESPACESTHEULTIMATEBUTNOTNECESSARILYTHEBESTORCHAPTER1NMODERNJAVASCRIPTPROGRAMMING5FIGURE11ASCREENSHOTOFTHEFIREFOXFIREBUGPLUGININACTION7273CH01FINALQXD11/16/06823AMPAGE5MOSTUSEFULEXAMPLEOFTHISINACTIONISAPUBLICUSERINTERFACELIBRARYDEVELOPEDBYYAHOO,WHICHISAVAILABLEFORANYONETOUSEANEXAMPLEOFUSINGTHELIBRARYISSHOWNINLISTING13LISTING13ADDINGANEVENTTOANELEMENTUSINGTHEHEAVILYNAMESPACEDYAHOOUILIBRARY/ADDAMOUSEOVEREVENTLISTENERTOTHEELEMENTTHATHASAN/IDOFBODYYAHOOUTILEVENTADDLISTENERBODY,MOUSEOVER,FUNCTION/ANDCHANGETHEBACKGROUNDCOLOROFTHEELEMENTTOREDTHISSTYLEBACKGROUNDCOLORREDONEPROBLEMTHATEXISTSWITHTHISMETHODOFNAMESPACING,HOWEVER,ISTHATTHEREISNOINHERENTCONSISTENCYFROMONELIBRARYTOANOTHERONHOWITSHOULDBEUSEDORSTRUCTUREDITISONTHISPOINTTHATCENTRALCODEREPOSITORIESSUCHASJSANJAVASCRIPTARCHIVENETWORKBECOMEIMMENSELYUSEFULJSANPROVIDESACONSISTENTSETOFRULESFORLIBRARIESTOBESTRUCTUREDAGAINST,ALONGWITHAWAYTOQUICKLYANDEASILYIMPORTOTHERLIBRARIESTHATYOURCODERELIESUPONASCREENSHOTOFTHEMAINDISTRIBUTIONCENTEROFJSANISSHOWNINFIGURE12IWILLDISCUSSTHEINTRICACIESOFDEVELOPINGCLEAN,PACKAGEABLECODEINCHAPTER3ADDITIONALLY,THEIMPORTANCEOFOTHERCOMMONSTUMBLINGPOINTS,SUCHASEVENTHANDLINGCOLLISION,WILLBEDISCUSSEDINCHAPTER6CHAPTER1NMODERNJAVASCRIPTPROGRAMMING67273CH01FINALQXD11/16/06823AMPAGE6UNOBTRUSIVEDOMSCRIPTINGBUILTUPONACOREOFGOOD,TESTABLECODEANDCOMPLIANTDISTRIBUTIONSISTHECONCEPTOFUNOBTRUSIVEDOMSCRIPTINGWRITINGUNOBTRUSIVECODEIMPLIESACOMPLETESEPARATIONOFYOURHTMLCONTENTTHEDATACOMINGFROMTHESERVER,ANDTHEJAVASCRIPTCODEUSEDTOMAKEITALLDYNAMICTHEMOSTIMPORTANTSIDEEFFECTOFACHIEVINGTHISCOMPLETESEPARATIONISTHATYOUNOWHAVECODETHATISPERFECTLYDOWNGRADEABLEORUPGRADEABLEFROMBROWSERTOBROWSERYOUCANUSETHISTOOFFERADVANCEDCONTENTTOBROWSERSTHATSUPPORTIT,WHILESTILLDOWNGRADINGGRACEFULLYFORBROWSERSTHATDONTWRITINGMODERN,UNOBTRUSIVECODECONSISTSOFTWOASPECTSTHEDOCUMENTOBJECTMODELDOM,ANDJAVASCRIPTEVENTSINTHISBOOKIEXPLAINBOTHOFTHESEASPECTSINDEPTHCHAPTER1NMODERNJAVASCRIPTPROGRAMMING7FIGURE12ASCREENSHOTOFTHEPUBLICJSANCODEREPOSITORY7273CH01FINALQXD11/16/06823AMPAGE7THEDOCUMENTOBJECTMODELTHEDOMISAPOPULARWAYOFREPRESENTINGXMLDOCUMENTSITISNOTNECESSARILYTHEFASTEST,LIGHTEST,OREASIESTTOUSE,BUTITISTHEMOSTUBIQUITOUS,WITHANIMPLEMENTATIONEXISTINGINMOSTWEBDEVELOPMENTPROGRAMMINGLANGUAGESSUCHASJAVA,PERL,PHP,RUBY,PYTHON,ANDJAVASCRIPTTHEDOMWASCONSTRUCTEDTOPROVIDEANINTUITIVEWAYFORDEVELOPERSTONAVIGATEANXMLHIERARCHYSINCEVALIDHTMLISSIMPLYASUBSETOFXML,HAVINGANEFFICIENTWAYTOPARSEANDBROWSEDOMDOCUMENTSISABSOLUTELYESSENTIALFORMAKINGJAVASCRIPTDEVELOPMENTEASIERULTIMATELY,THEMAJORITYOFINTERACTIONTHATOCCURSINJAVASCRIPTISBETWEENJAVASCRIPTANDTHEDIFFERENTHTMLELEMENTSCONTAINEDWITHINAWEBPAGEANDTHEDOMISANEXCELLENTTOOLFORMAKINGTHISPROCESSSIMPLERSOMEEXAMPLESOFUSINGTHEDOMTONAVIGATEANDFINDDIFFERENTELEMENTSWITHINAPAGEANDTHENMANIPULATETHEMCANBEFOUNDINLISTING14LISTING14USINGTHEDOCUMENTOBJECTMODELTOLOCATEANDMANIPULATEDIFFERENTDOMELEMENTSINTRODUCTIONTOTHEDOM/WECANTMANIPULATETHEDOMUNTILTHEDOCUMENT/ISFULLYLOADEDWINDOWONLOADFUNCTION/FINDALLTHEELEMENTSINTHEDOCUMENTVARLIDOCUMENTGETELEMENTSBYTAGNAME“LI“/ANDADDAAREDBORDERAROUNDALLOFTHEMFORVARJ0JINTRODUCTIONTOTHEDOMTHEREAREANUMBEROFREASONSWHYTHEDOMISAWESOME,HEREARESOMECHAPTER1NMODERNJAVASCRIPTPROGRAMMING87273CH01FINALQXD11/16/06823AMPAGE8ITCANBEFOUNDEVERYWHEREITSEASYTOUSEITCANHELPYOUTOFINDWHATYOUWANT,REALLYQUICKLYTHEDOMISTHEFIRSTSTEPTODEVELOPINGUNOBTRUSIVEJAVASCRIPTCODEBYBEINGABLETOQUICKLYANDSIMPLYNAVIGATEANHTMLDOCUMENT,ALLRESULTINGJAVASCRIPT/HTMLINTERACTIONSBECOMETHATMUCHSIMPLEREVENTSEVENTSARETHEGLUETHATHOLDSTOGETHERALLUSERINTERACTIONWITHINANAPPLICATIONINANICELYDESIGNEDJAVASCRIPTAPPLICATION,YOUREGOINGTOHAVEYOURDATASOURCEANDITSVISUALREPRESENTATIONINSIDEOFTHEHTMLDOMINORDERTOSYNCHRONIZETHESETWOASPECTS,YOUREGOINGTOHAVETOLOOKFORUSERINTERACTIONSANDATTEMPTTOUPDATETHEUSERINTERFACEACCORDINGLYTHECOMBINATIONOFUSINGTHEDOMANDJAVASCRIPTEVENTSISTHEFUNDAMENTALUNIONTHATMAKESALLMODERNWEBAPPLICATIONSWHATTHEYAREALLMODERNBROWSERSPROVIDEANUMBEROFEVENTSTHATAREFIREDWHENEVERCERTAININTERACTIONSOCCUR,SUCHASTHEUSERMOVINGTHEMOUSE,STRIKINGTHEKEYBOARD,OREXITINGTHEPAGEUSINGTHESEEVENTS,YOUCANREGISTERCODETHATWILLBEEXECUTEDWHENEVERTHEEVENTOCCURSANEXAMPLEOFTHISINTERACTIONISSHOWNINLISTING15,WHERETHEBACKGROUNDCOLOROFTHESCHANGEWHENEVERTHEUSERMOVESHISMOUSEOVERTHEMLISTING15USINGTHEDOMANDEVENTSTOPROVIDESOMEVISUALEFFECTSINTRODUCTIONTOTHEDOM/WECANTMANIPULATETHEDOMUNTILTHEDOCUMENT/ISFULLYLOADEDWINDOWONLOADFUNCTION/FINDALLTHEELEMENTS,TOATTACHTHEEVENTHANDLERSTOTHEMVARLIDOCUMENTGETELEMENTSBYTAGNAME“LI“FORVARI0IELEMENT,/WHICHCHANGESTHESBACKGROUNDTOBLUELIIONMOUSEOVERFUNCTIONTHISSTYLEBACKGROUNDCOLORBLUECHAPTER1NMODERNJAVASCRIPTPROGRAMMING97273CH01FINALQXD11/16/06823AMPAGE9/ATTACHAMOUSEOUTEVENTHANDLERTOTHEELEMENT/WHICHCHANGESTHESBACKGROUNDBACKTOITSDEFAULTWHITELIIONMOUSEOUTFUNCTIONTHISSTYLEBACKGROUNDCOLORWHITEINTRODUCTIONTOTHEDOMTHEREAREANUMBEROFREASONSWHYTHEDOMISAWESOME,HEREARESOMEITCANBEFOUNDEVERYWHEREITSEASYTOUSEITCANHELPYOUTOFINDWHATYOUWANT,REALLYQUICKLYJAVASCRIPTEVENTSARECOMPLEXANDDIVERSEMUCHOFTHECODEANDAPPLICATIONSINTHISBOOKUTILIZEEVENTSINONEWAYORANOTHERCHAPTER6ANDAPPENDIXBARECOMPLETELYDEDICATEDTOEVENTSANDTHEIRINTERACTIONSJAVASCRIPTANDCSSBUILDINGUPONYOURBASEOFDOMANDEVENTINTERACTIONSCOMESDYNAMICHTMLATITSCORE,DYNAMICHTMLREPRESENTSTHEINTERACTIONSTHATOCCURBETWEENJAVASCRIPTANDTHECSSINFORMATIONATTACHEDTODOMELEMENTSCASCADINGSTYLESHEETSCSSSERVEASTHESTANDARDFORLAYINGOUTSIMPLE,UNOBTRUSIVEWEBPAGESTHATSTILLAFFORDYOUTHEDEVELOPERTHEGREATESTAMOUNTOFPOWERWHILEPROVIDINGYOURUSERSWITHTHELEASTAMOUNTOFCOMPATIBILITYISSUESULTIMATELY,DYNAMICHTMLISABOUTEXPLORINGWHATCANBEACHIEVEDWHENJAVASCRIPTANDCSSINTERACTWITHEACHOTHERANDHOWYOUCANBESTUSETHATCOMBINATIONTOCREATEIMPRESSIVERESULTSFORSOMEEXAMPLESOFADVANCEDINTERACTIONS,SUCHASDRAGANDDROPELEMENTSANDANIMATIONS,TAKEALOOKATCHAPTER7,WHERETHEYAREDISCUSSEDINDEPTHAJAXAJAX,ORASYNCHRONOUSJAVASCRIPTANDXML,ISATERMCOINEDINTHEARTICLE“AJAXANEWAPPROACHTOWEBAPPLICATIONS”HTTP/WWWADAPTIVEPATHCOM/PUBLICATIONS/ESSAYS/ARCHIVES/000385PHPBYJESSEJAMESGARRETT,COFOUNDERANDPRESIDENTOFADAPTIVEPATH,ANINFORMATIONARCHITECTUREFIRMITDESCRIBESTHEADVANCEDINTERACTIONSTHATOCCURBETWEENTHECLIENTANDTHESERVER,WHENREQUESTINGANDSUBMITTINGADDITIONALINFORMATIONCHAPTER1NMODERNJAVASCRIPTPROGRAMMING107273CH01FINALQXD11/16/06823AMPAGE10THETERMAJAXENCOMPASSESHUNDREDSOFPERMUTATIONSFORDATACOMMUNICATION,BUTALLCENTERAROUNDACENTRALPREMISETHATADDITIONALREQUESTSAREMADEFROMTHECLIENTTOTHESERVEREVENAFTERTHEPAGEHASCOMPLETELYLOADEDTHISALLOWSAPPLICATIONDEVELOPERSTOCREATEADDITIONALINTERACTIONSTHATCANINVOLVETHEUSERBEYONDTHESLOW,TRADITIONALFLOWOFANAPPLICATIONFIGURE13ISADIAGRAMFROMGARRETTSAJAXARTICLETHATSHOWSHOWTHEFLOWOFINTERACTIONWITHINANAPPLICATIONCHANGESDUETOTHEADDITIONALREQUESTSTHATAREMADEINTHEBACKGROUNDANDMOSTLIKELYWITHOUTTHEUSERSKNOWLEDGECHAPTER1NMODERNJAVASCRIPTPROGRAMMING11FIGURE13ADIAGRAMFROMTHEARTICLE“AJAXANEWAPPROACHTOWEBAPPLICATIONS,”SHOWINGTHEADVANCED,ASYNCHRONOUSINTERACTIONTHATOCCURSBETWEENTHECLIENTANDASERVER7273CH01FINALQXD11/16/06823AMPAGE11SINCETHEORIGINALRELEASEOFTHEGARRETTARTICLE,THEINTERESTOFUSERS,DEVELOPERS,DESIGNERS,ANDMANAGERSHASBEENPIQUED,ALLOWINGFORANEXPLOSIONOFNEWAPPLICATIONSTHATMAKEUSEOFTHISADVANCEDLEVELOFINTERACTIONIRONICALLY,WHILETHEREHASBEENTHISRESURGENCEININTEREST,THETECHNOLOGYBEHINDAJAXISRATHEROLDHAVINGBEENUSEDCOMMERCIALLYSINCEAROUNDTHEYEAR2000THEPRIMARYDIFFERENCE,HOWEVER,ISTHATTHEOLDERAPPLICATIONSUTILIZEDBROWSERSPECIFICMEANSOFCOMMUNICATINGWITHTHESERVERSUCHASINTERNETEXPLORERONLYFEATURESSINCEALLMODERNBROWSERSSUPPORTXMLHTTPREQUESTTHEPRIMARYMETHODFORSENDINGORRECEIVINGXMLDATAFROMASERVER,THEPLAYINGFIELDHASBEENLEVELED,ALLOWINGFOREVERYONETOENJOYITSBENEFITSIFONECOMPANYHASBEENATTHEFOREFRONTOFMAKINGCOOLAPPLICATIONSUSINGAJAXTECHNOLOGY,ITSGOOGLEONEHIGHLYINTERACTIVEDEMOTHATITRELEASEDJUSTBEFORETHEORIGINALAJAXARTICLECAMEOUTISGOOGLESUGGESTTHEDEMOALLOWSYOUTOTYPEYOURQUERYANDHAVEITBEAUTOCOMPLETEDINREALTIMETHISISAFEATURETHATCOULDNEVERBEACHIEVEDUSINGOLDPAGERELOADSASCREENSHOTOFGOOGLESUGGESTINACTIONISSHOWNINFIGURE14ADDITIONALLY,ANOTHERREVOLUTIONARYAPPLICATIONOFGOOGLEISGOOGLEMAPS,WHICHALLOWSTHEUSERTOMOVEAROUNDAMAPANDSEERELEVANT,LOCALRESULTSDISPLAYEDINREALTIMETHELEVELOFSPEEDANDUSABILITYTHATTHISAPPLICATIONPROVIDESBYUSINGAJAXTECHNIQUESISUNLIKEANYOTHERMAPPINGAPPLICATIONAVAILABLEANDHASCOMPLETELYREVOLUTIONIZEDTHEONLINEMAPPINGMARKETASARESULTASCREENSHOTOFGOOGLEMAPSISSHOWNINFIGURE15EVENTHOUGHVERYLITTLEHASPHYSICALLYCHANGEDWITHINTHEJAVASCRIPTLANGUAGE,DURINGTHEPASTCOUPLEYEARS,THEACCEPTANCEOFJAVASCRIPTASAFULLBLOWNPROGRAMMINGENVIRONMENTBYSUCHCOMPANIESASGOOGLEANDYAHOOSHOWSJUSTHOWMUCHHASCHANGEDINREGARDTOITSPERCEPTIONANDPOPULARITYCHAPTER1NMODERNJAVASCRIPTPROGRAMMING12FIGURE14ASCREENSHOTOFGOOGLESUGGEST,ANAPPLICATIONAVAILABLEATTHETIMEOFGARRETTSAJAXARTICLETHATUTILIZEDTHEASYNCHRONOUSXMLTECHNIQUES7273CH01FINALQXD11/16/06823AMPAGE12BROWSERSUPPORTTHESADTRUTHOFJAVASCRIPTDEVELOPMENTISTHATSINCEITISSOTIEDTOTHEBROWSERSTHATIMPLEMENTANDSUPPORTIT,ITISALSOATTHEMERCYOFWHICHEVERBROWSERSARECURRENTLYTHEMOSTPOPULARSINCEUSERSDONTNECESSARILYUSETHEBROWSERSWITHTHEBESTJAVASCRIPTSUPPORT,WEREFORCEDTOPICKANDCHOOSEWHICHFEATURESAREMOSTIMPORTANTWHATMANYDEVELOPERSHAVEBEGUNTODOISCUTOFFSUPPORTFORBROWSERSTHATSIMPLYCAUSETOOMUCHTROUBLEWHENDEVELOPINGFORTHEMITSADELICATEBALANCEBETWEENSUPPORTINGBROWSERSDUETOTHESIZEOFTHEIRUSERBASEANDSUPPORTINGTHEMBECAUSETHEYHAVEAFEATURETHATYOULIKERECENTLYYAHOORELEASEDAJAVASCRIPTLIBRARYTHATCANBEUSEDTOEXTENDYOURWEBAPPLICATIONSALONGWITHTHELIBRARY,ITALSORELEASEDSOMEDESIGNPATTERNGUIDELINESFORWEBDEVELOPERSTOFOLLOWTHEMOSTIMPORTANTDOCUMENTTOCOMEOUTOFITINMYOPINIONISYAHOOSCHAPTER1NMODERNJAVASCRIPTPROGRAMMING13FIGURE15GOOGLEMAPS,WHICHUTILIZESANUMBEROFAJAXTECHNIQUESTODYNAMICALLYLOADLOCATIONINFORMATION7273CH01FINALQXD11/16/06823AMPAGE13OFFICIALLISTOFBROWSERSTHATITDOESANDDOESNTSUPPORTWHILEANYONE,ANDANYCORPORATION,CANDOSOMETHINGSIMILAR,HAVINGADOCUMENTPROVIDEDBYONEOFTHEMOSTTRAFFICKEDWEBSITESONTHEINTERNETISENTIRELYINVALUABLEYAHOODEVELOPEDAGRADEDBROWSERSUPPORTSTRATEGYTHATASSIGNSACERTAINGRADETOABROWSERANDPROVIDESDIFFERENTCONTENTTOITBASEDUPONITSCAPABILITIESYAHOOGIVESBROWSERSTHREEGRADESA,X,ANDCAGRADEBROWSERSAREFULLYSUPPORTEDANDTESTED,ANDALLYAHOOAPPLICATIONSAREGUARANTEEDTOWORKINTHEMANXGRADEBROWSERISANAGRADEBROWSERTHATYAHOOKNOWSEXISTSBUTSIMPLYDOESNOTHAVETHECAPACITYTOTESTTHOROUGHLY,ORISABRANDNEWBROWSERTHATITSNEVERENCOUNTEREDBEFOREXGRADEBROWSERSARESERVEDWITHTHESAMECONTENTASAGRADEBROWSERS,INHOPESTHATTHEYLLBEABLETOHANDLETHEADVANCEDCONTENTCGRADEBROWSERSAREKNOWNAS“BAD”BROWSERSTHATDONOTSUPPORTTHEFEATURESNECESSARYTORUNYAHOOAPPLICATIONSTHESEBROWSERSARESERVEDTHEFUNCTIONALAPPLICATIONCONTENTSWITHOUTJAVASCRIPT,ASYAHOOAPPLICATIONSAREFULLYUNOBTRUSIVEINTHATTHEYWILLCONTINUETOWORKWITHOUTTHEPRESENCEOFJAVASCRIPTINCIDENTALLY,YAHOOSBROWSERGRADECHOICESJUSTSOHAPPENTOCOINCIDEWITHMYOWN,WHICHMAKESITPARTICULARLYAPPEALINGWITHINTHISBOOK,IUSETHETERMMODERNBROWSERALOTWHENIUSETHATPHRASE,IMEANANYBROWSERTHATHASGRADEASUPPORTDEEMEDBYTHEYAHOOBROWSERCHARTBYGIVINGYOUACONSISTENTSETOFFEATURESWITHWHICHTOWORK,THELEARNINGANDDEVELOPMENTEXPERIENCEWILLBECOMEMUCHMOREINTERESTINGANDMUCHLESSPAINFULALLBYAVOIDINGBROWSERINCOMPATIBILITIESIHIGHLYRECOMMENDTHATYOUREADTHROUGHGRADEDBROWSERSUPPORTDOCUMENTSWHICHCANBEFOUNDATHTTP/DEVELOPERYAHOOCOM/YUI/ARTICLES/GBS/GBSHTML,INCLUDINGTHEBROWSERSUPPORTCHARTSHOWNINFIGURE16,TOGETAFEELFORWHATYAHOOISATTEMPTINGTOACCOMPLISHBYMAKINGTHISINFORMATIONAVAILABLETOTHEGENERALWEBDEVELOPINGPUBLIC,YAHOOISPROVIDINGANINVALUABLE“GOLDSTANDARD”FORALLOTHERSTOREACH,WHICHISAGREATTHINGTOHAVEFORMOREINFORMATIONABOUTALLTHEBROWSERSTHATARESUPPORTED,SEEAPPENDIXCOFTHISBOOKWHERETHESHORTCOMINGSANDADVANTAGESOFEACHBROWSERAREDISCUSSEDINDEPTHMOREOFTENTHANNOT,YOULLFINDALLOFTHEAGRADEBROWSERSTOBEONTHECUTTINGEDGEOFDEVELOPMENT,PROVIDINGMORETHANENOUGHFEATURESFORYOUTODEVELOPWITHWHENCHOOSINGWHATBROWSERSYOUWISHTOSUPPORT,THEENDRESULTULTIMATELYBOILSDOWNTOASETOFFEATURESTHATYOURAPPLICATIONISABLETOSUPPORTIFYOUWISHTOSUPPORTNETSCAPENAVIGATOR4ORINTERNETEXPLORER5FOREXAMPLE,ITWOULDSEVERELYLIMITTHENUMBEROFFEATURESTHATYOUCOULDUSEINYOURAPPLICATION,DUETOTHEIRLACKOFSUPPORTFORMODERNPROGRAMMINGTECHNIQUESCHAPTER1NMODERNJAVASCRIPTPROGRAMMING147273CH01FINALQXD11/16/06823AMPAGE14HOWEVER,KNOWINGWHICHBROWSERSAREMODERNALLOWSYOUTOUTILIZETHEPOWERFULFEATURESTHATAREAVAILABLEINTHEM,GIVINGYOUACONSISTENTBASEFROMWHICHYOUCANDOFURTHERDEVELOPMENTTHISCONSISTENTDEVELOPMENTBASECANBEDEFINEDBYTHEFOLLOWINGSETOFFEATURESCOREJAVASCRIPT15THEMOSTCURRENT,ACCEPTEDVERSIONOFJAVASCRIPTITHASALLTHEFEATURESNECESSARYTOSUPPORTFULLYFUNCTIONALOBJECTORIENTEDJAVASCRIPTIN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江省(温州)2026年初三3月摸底考试英语试题理试题含解析
- 山东省寿光市重点中学2026年初三5月模拟试题英语试题含解析
- 四川省阆中市2026届中考物理试题模拟试卷(2)含解析
- 四川省眉山市百坡初级中学2025-2026学年初三3月月考英语试题试卷含解析
- 云南省红河州市级名校2025-2026学年初三普通中考测试(二)英语试题含解析
- 2026年中国避虫醇市场数据研究及竞争策略分析报告
- 2025 高中新闻类阅读理解之特写特点课件
- 2026年自动化控制系统在新能源领域的案例
- 眼科白内障手术后康复监测方案
- 败血症的监测与治疗方案
- 2024版前列腺癌药物去势治疗随访管理中国专家共识课件
- 2026年基于责任区的幼儿园联片教研活动设计方案
- 国家事业单位招聘2023中国地质调查局昆明自然资源综合调查中心第二批招聘拟聘用人员云笔试历年参考题库典型考点附带答案详解
- GB/T 8175-2025设备及管道绝热设计导则
- 2025年山东省委党校在职研究生招生考试(政治理论)历年参考题库含答案详解(5卷)
- 二元二次方程组的解法(第1课时)(课件)八年级数学下册(沪教版)
- 拔牙术拔牙并发症
- GB/T 9966.16-2021天然石材试验方法第16部分:线性热膨胀系数的测定
- FZ/T 54131-2021弹性涤纶牵伸丝/涤纶预取向丝空气变形丝(EDY/POY ATY)
- 篮球场改造工程施工组织设计方案
- 中石油公司油库管理制度与工作流程汇编
评论
0/150
提交评论