Web技术的前世此生(二)

前言:我是JavaScript,若是你还不认识我,不妨先看看《 Web技术的前世此生(一)

平静的生活已经有一段日子了。前端

这一天,HTML大哥面露不悦地走过来问我:ajax

“Js,你是打算和咱们分家吗?”segmentfault

“大哥,您这说的哪里话,我什么地方作的不对么?”我一脸茫然地回答道。后端

“哼,我但是听PHP老弟都说了,你最近老是让它给你返回服务器上的数据。你就说有没有这回事吧!”浏览器

“是有这么回事,不过⋯⋯”服务器

“看吧,我就知道你小子翅膀硬了,敢跟你大哥抢生意了。谁不知道把服务器端的数据构建成网页是你老哥个人活,你小子⋯⋯”dom

“等等,大哥,是您误会了”,看大哥越说越火大,我赶忙打断了它。“您还记得咱们那个叫Google的客户么?”异步

“别和我提那个偏执狂,上次和它合做那个电子邮箱的项目,我都费了老大劲了,它仍是不满意,硬是说要作到在不从新加载整个网页的状况下,对网页的部份内容进行更新。要知道一直以来,个人工做方式都是每一次请求就要从新载入一个新的页面,它这不纯属是难为人吗⋯⋯呃,如今在说你要自立门户的事呢,你扯它干吗?”spa

“大哥,您先别生气,听我给您解释。就是那个叫Gmail的项目须要局部刷新的问题,以前您不是还问过我行不行吗?当时我没有想到办法。但前几天我又好好琢磨下,发现彷佛是可行的,我能够经过一个叫XHR的家伙去和服务器交换数据,而后再将取得的新数据经过dom插入到当前页面中就能够了。最近我也是一直在研究这事,还没来得及和您说呢。”对象

“哎呀,你看我这脑子”,大哥满脸愧色地说:”弄了半天原来你是在帮老哥我啊!刚才大哥的态度⋯⋯”

“大哥”,我赶忙再一次打断大哥的话,“您就别自我检讨了,如今办法有了赶忙去告诉那个偏执狂才是正事,毕竟是个大客户,丢了多不划算。”

“哦,对对对,我这就去。”

伴随着大哥的心结被解开,这场风波总算是过去了。

(猿知原味注:XMLHttpRequest(XHR)做为JavaScript的一个对象,能够用来在浏览器和服务器端传输数据。然而自从它1998年问世以来却不多被重视,直到Google发布了Gmail、Google Maps等一系列运用它开发的局部刷新的Web产品以后,这项异步请求的“新”技术才忽然大火起来,而且还有了一个在Web发展史上影响深远的名字:Ajax)

时间来到了2005年,大概就是在那个时候,有人开始称呼咱们一家“Web前端”。咱们前端家族成员最主要的特色就是运行在浏览器上,因此像PHP、ASP等那些运行在服务器上(后端)的家伙这辈子是别想落户到咱们家了。

图片描述

提到浏览器,准确地说是浏览器们,我在这里必需要吐槽一下。因为是商业产物,因此成天为了点市场份额打的你死我活的。本来我对它们之间的争斗没有兴趣,但直到有一天我发现,我构建的一样一段脚本,竟然在它们身上呈现出的效果不统一,并且这种状况随着卷入争斗的浏览器种类增多变的愈来愈复杂⋯⋯

图片描述

“该死的Js,为何按钮的点击没起做用?”,“新版本的Js不能阻止事件冒泡了吗?”,“这Js八成是抽风了⋯⋯”

那段日子,我常常替浏览器们背锅,承受着你们的误解。就在我最烦心的时候,家里来新人了——jQuery。

“嘿伙计,有啥绝活给咱们露一手”,大哥先发话了。

“小意思”,jQuery一边回答一边完成了一段ajax调用的代码,期间也操做了dom。

看着这段虽然说像极了意大利面条、却着实短小精悍的代码,我和大哥正在惊诧的时候,jQuery又发话了:“欧了大哥,如今这段代码能够放到任何浏览器上运行了。”

“你是说⋯⋯你能作到和js同样的事,而且还⋯⋯还解决了浏览器兼容的问题?”大哥惊讶的说话都开始结巴了。那一刻,我忽然感觉到史无前例的危机感。

“也不能彻底这么说,个人存在只是为了让人类尽量不用考虑浏览器兼容的问题,而且以更优雅的方式更方便地操做Web页面,实际上背后的功臣仍是js前辈,我只是它的小跟班。”

听了jQuery的一番话,我热(ru)泪(shi)盈(zhong)眶(fu)地走上前去握住它的手,“欢迎来到我们家,之后就是一家人了。”

打那之后,个人生活就惬意多了,除非有jQuery解决不了的问题我才出面,通常而言这个小跟班都能很出色的完成任务。

然而与此同时,PHP老兄的日子却不那么好过,Web后端正酝酿着一场变革。

故事读完了,仍是意犹未尽?不要紧,关注“猿知原味”公众号(yz--yw),还有一大波生动有趣的干货等着你。

传送门:《Web技术的前世此生(一)》《Web技术的前世此生(三)》

相关文章
相关标签/搜索