远古的JaScript写起来是怎么样的?
作者:卡卷网发布时间:2025-01-10 19:23浏览数量:87次评论数量:0次
Ajax这个概念是怎么来的?
这个概念源于远古时期一个叫做<>MSXML2.XML>的一个东西
其最初是由微软Outlook团队在2000年左右提出的一种设想并在2001年在IE5中通过内置的ActiveX插件的方式实现的.而且其名字也不是现在的XmlHttpRequest,那时候那个组件叫"MSXML2.XML"...
彼时那玩意还不是像现在一样
constresult=awaitfetch("s://api.whatever/v1/people/y-name/nahida");
或者这样
而是要这个样去做:
怪异吧?至于你问"不是说叫msxml2.xml"么?为什么要在catch里再去尝试加载什么"microsoft.xml"?
那这你就问错地方了.你需要问问微软改名部的那些大佬们.
至于最后三行,那就是Firefox团队的倔强了.当他们团队发现IE具备通过ActiveX实现异步请求这么牛掰到爆的功能的时候,Firefox团队就也搞了一个.当然,你去指望脱胎于网景的Firefox团队去照搬微软的写法,那是100%不能同意的.但是功能还是要有.所以他们的做法就是很傲娇的模仿了"Microsoft.XML"的名字,搞了一个叫XMLHttpRequest的内置对象.后来成为了W3C标准,沿用至今.
(所以很多时候有些人指责微软IE不遵守所谓的W3C标准,我就想笑.不好意思,IE搞出这些功能的时候W3C根本就没有这种东西.只是因为它是微软,因此在模仿者们好仿品然后制定标准的时候,模仿者们把自己的仿品立为了标准,然后反过来指责微软不遵守标准罢了)
总之,这就是当时为了兼容IE各版本以及FF的标准写法.
然后如果你在用IE6的话,你就会看到浏览器上方冒出一个浅的条:
然后当时就有很多的用户抱怨为什么页面的功能不好使点了没反应...
因为他们并不知道这种ActiveX安全设置要如何去做.也不敢乱点.
更何况,某些客户电脑里的Windows往往是不知道精简了一些什么鬼东西,会缺少MSXML2.DLL.
这就导致其所有的AJAX请求全部无法发出.
所以当时很多就祭出了一套作:
内嵌一个0宽0高的iframe页面.然后把ajax请求的指向到那个iframe页面.由于同域的iframe本身是可以子页纵父页的.所以就可以直接返回一段js脚本去回调主页面中的函数来实现ajax回调的功能.
只能说程序员的脑子确实普遍好使.
至于代码逻辑怎么调试,由于没用DevTools,调试代码的方式就是无限alert.
其实当时的S更恶心.
一个IE,同一段S,6,7,8,9,10下显示各不相同.为了一效果,往往还要用上各种SHack.
当时就经常因为某一个版本浏览器显示死活不对反反复复的去调.当时也没有什么DevTools,就只能改一点,刷一下页面,再改一点,再刷一下页面.好多不眠的夜晚其实都是在做这种琐碎的事情上度过的.由于Windows下来回切IE版本较麻烦,所以就有了一个专门用来调兼容性的软件:IEer
免责声明:本文由卡卷网编辑并发布,但不代表本站的观点和立场,只提供分享给大家。
你 发表评论:
欢迎