因为这样不Open……
事实上网景浏览器能够迅速崛起,逼迫微软不得不捆绑销售才彻底摁死的杀手锏应用就是JavaScript。
在那之前,没人认为一个浏览器,需要执行什么互动脚本,因为浏览器的功能就是浏览。如果你需要为你的网页增加一些有趣的玩意儿,可以用一个标签来实现,譬如说:
<marquee> - HTML(超文本标记语言) | MDN (mozilla.org)
或者这种:
<blink> - HTML(超文本标记语言) | MDN (mozilla.org)
这俩标签一个是微软搞出来的,一个是网景搞出来的。
在今天我们回过头来看,会觉得这种SB的动画简直可笑,而且可以轻松的用JavaScript做出来。
但在当年这可是非常令人震撼的效果。
可惜的是,当网景搞出了JavaScript,并且配合DOM API可以动态修改页面上的元素之后,就再也没有浏览器厂商再增加这种可笑的标签了……
浏览器要集成的话,为啥要集成这么丑陋的库呢?浏览器可以集成比JavaScript好得多的脚本语言,不仅编写简单而且性能强劲。你可以从数百种效果库中挑选自己所需要的动画效果,譬如说IE的滤镜库:
Filters and Transitions | Microsoft Docs
为什么这些东西最终失败了?
因为开发者没办法知道,哪些浏览器支持哪些滤镜,最后,为了保证在任何客户端的显示效果,开发人员不得不弃用这些酷炫的效果……
你的问题同理,既然开发人员没办法知道哪些浏览器内置了哪些类库,那还不如全部都加载好了。如果加载的都是同一个地址的类库,浏览器自动做个预加载就完全可以抵消内置带来的好处了……
都有的。浏览器会缓存静态文件的。等效与集成。为了使得浏览器的缓存失效,网站程序还得想办法对付。比如js静态文件编译器会改变自己的名字。加一段随机字符,以达到令客户端缓存失效的目的。不过你说的集成更多的原本服务器的功能是目前浏览器的一个发展趋势。