当前位置:首页 > 每日看点 > 正文内容

远古的JaScript写起来是怎么样的?

卡卷网10个月前 (01-10)每日看点161

Ajax这个概念是怎么来的?

这个概念源于远古时期一个叫做<>MSXML2.XML的一个东西

其最初是由微软Outlook团队在2000年左右提出的一种设想并在2001年在IE5中通过内置的ActiveX插件的方式实现的.而且其名字也不是现在的XmlHttpRequest,那时候那个组件叫"MSXML2.XML"...

彼时那玩意还不是像现在一样

constresult=awaitfetch("s://api.whatever/v1/people/y-name/nahida");

或者这样

constxhr=newXMLHttpRequest(); xhr.onreadystatechange=()=>{ if(xhr.readyState===4&&xhr.status===200) alert(xhr.responseText); }; xhr.send();

而是要这个样去做:

try{ XMLHttpRequestOject=newActiveXOject("MSXML2.XML"); }catch(exception1){ try{ XMLHttpRequestOject=newActiveXOject("Microsoft.XML"); }catch(exception2){ XMLHttpRequestOject=false; } } if(!XMLHttpRequestOject&&window.XMLHttpRequest){ XMLHttpRequestOject=newXMLHttpRequest(); }

怪异吧?至于你问"不是说叫msxml2.xml"么?为什么要在catch里再去尝试加载什么"microsoft.xml"?

那这你就问错地方了.你需要问问微软改名部的那些大佬们.

至于最后三行,那就是Firefox团队的倔强了.当他们团队发现IE具备通过ActiveX实现异步请求这么牛掰到爆的功能的时候,Firefox团队就也搞了一个.当然,你去指望脱胎于网景的Firefox团队去照搬微软的写法,那是100%不能同意的.但是功能还是要有.所以他们的做法就是很傲娇的模仿了"Microsoft.XML"的名字,搞了一个叫XMLHttpRequest的内置对象.后来成为了W3C标准,沿用至今.

(所以很多时候有些人指责微软IE不遵守所谓的W3C标准,我就想笑.不好意思,IE搞出这些功能的时候W3C根本就没有这种东西.只是因为它是微软,因此在模仿者们好仿品然后制定标准的时候,模仿者们把自己的仿品立为了标准,然后反过来指责微软不遵守标准罢了)

总之,这就是当时为了兼容IE各版本以及FF的标准写法.

然后如果你在用IE6的话,你就会看到浏览器上方冒出一个浅的条:

您的安全设置不允许使用您计算机中已经安装的ActiveX控件.当前页面可能显示不正确,点此打开选项

然后当时就有很多的用户抱怨为什么页面的功能不好使点了没反应...

因为他们并不知道这种ActiveX安全设置要如何去做.也不敢乱点.

更何况,某些客户电脑里的Windows往往是不知道精简了一些什么鬼东西,会缺少MSXML2.DLL.

这就导致其所有的AJAX请求全部无法发出.

所以当时很多就祭出了一套作:

内嵌一个0宽0高的iframe页面.然后把ajax请求的指向到那个iframe页面.由于同域的iframe本身是可以子页纵父页的.所以就可以直接返回一段js脚本去回调主页面中的函数来实现ajax回调的功能.

只能说程序员的脑子确实普遍好使.

至于代码逻辑怎么调试,由于没用DevTools,调试代码的方式就是无限alert.

其实当时的S更恶心.

一个IE,同一段S,6,7,8,9,10下显示各不相同.为了一效果,往往还要用上各种SHack.

/*ForIEshack*/ margin-top:10px\9/*applytoalliefrom8andelow*/ *margin-top:10px;/*applytoie7andelow*/ _margin-top:10px;/*applytoie6andelow*/

当时就经常因为某一个版本浏览器显示死活不对反反复复的去调.当时也没有什么DevTools,就只能改一点,刷一下页面,再改一点,再刷一下页面.好多不眠的夜晚其实都是在做这种琐碎的事情上度过的.由于Windows下来回切IE版本较麻烦,所以就有了一个专门用来调兼容性的软件:IEer

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/8485.html

分享给朋友:

相关文章

在 Istio、Linkerd 和 Cilium 之间,哪种服务网格在性能上表现最佳?

在 Istio、Linkerd 和 Cilium 之间,哪种服务网格在性能上表现最佳?

在讨论服务网格之前,先理解一下为什么我们需要它。现代微服务架构意味着将应用拆分为多个小型、独立的服务,这些服务可以独立开发、部署和扩展。然而,服务之间的通信和管理成了巨大的挑战,例如如何保证安全的通信、负载均衡、监控与可观测性等。服务网格...

拼多多,怎么就成为了年轻人的「赛博菜市场」?

拼多多,怎么就成为了年轻人的「赛博菜市场」?

可惜你不在拼多多买水果蔬菜,很难一句话跟你解释,我只能笨拙的用经历来慢慢讲。我们公司有微波炉,同事们几乎都是自己带饭来上班,便当荤素搭配、水果零食;都是好看又好吃。我自己本来就不喜欢外卖,当然也加入了带饭大军: 直到某一天深夜我闲着无聊刷了...

如何评价小米14pro顶配可以选配卫星通话,小米15全系都无法选配?

如何评价小米14pro顶配可以选配卫星通话,小米15全系都无法选配?

雷总不是说了吗,我可以不用,但你不能没有。市面上OPPO Find X8 Pro和vivo X200 Pro的卫星通信版分别加价300,而荣耀Magic7和Magic7 Pro有卫星通信版且不加价,荣耀更显诚意。我觉得有是更好的,虽然使用卫...

阿里云服务器续费价格好贵,想换一家云服务厂商,该怎么选择?

阿里云服务器续费价格好贵,想换一家云服务厂商,该怎么选择?

最近一台买了3年时间的腾讯云轻量服务器到期了,还有5天时间。当时买的价格是3年198元。配置是2核CPU、4GB内存,80GB SSD云硬盘,1200GB 流量包,然后中途给免费升级了CPU,从2核变成了4核。平均下来一年的费用70元不到,...

数据分析人员需要掌握sql到什么程度?

数据分析人员需要掌握sql到什么程度?

能熟练用SQL进行统计分析,包括基本查询语句,聚合函数,连接,子查询,窗口函数等。作为现互联网的数据打工人,接下来我从SQL必知必会和SQL学习方法两个方面来详细介绍~注意:对于传统企业和一些小公司,数据量级并不太大,这时只要掌握Excel...

国外有没有像国内闲鱼这样的二手平台?

国外有没有像国内闲鱼这样的二手平台?

在当今全球市场,二手电商正迅速崛起,成为全球消费者购物的热门选择。很多国外的消费者,特别是那些注重可持续和环保的人群,包括富裕的消费者都经常购买二手商品。对电商卖家来说,进军二手平台是个很好的创收机会。尤其是在美国,美国二手物品交易平台eB...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。