2003年,我在一个个人网站源码里看到一行注释:“此页面在IE6下最佳浏览。”那会儿IE6占着全球90%以上的浏览器市场,网页设计师只要伺候好这一位“大爷”,就能吃遍天。可后来的事谁都知道了——Firefox冒头,Chrome崛起,移动端爆发,IE6成了笑话。那些当年只写IE私有属性的网站,如今全成了数字废墟。
web标准是什么?说白了就三件事:结构用HTML,表现用CSS,行为用JavaScript。听起来简单得像废话,但真做起来,能把人逼疯。我见过一个企业后台系统,一个按钮的点击事件绑了七层嵌套函数,HTML里塞着几百行的style属性,CSS类名全是a1、a2、b7这种天书。维护这种代码,就像在别人吐过的口香糖上继续嚼。
标准的意义不在于“好看”,而在于“省命”。2019年我接手过一个老项目,页面在Chrome上正常,到了Safari就错位。查了半天,原因是用了CSS的`position: sticky`,但没写`-webkit-`前缀。就这么一行代码,三个前端工程师加一个测试,耗了整整两天。如果当初按标准写,加个前缀就完事——这时间够我读完一本《JavaScript高级程序设计》了。
更坑的是那些“非标准”的写法。有些开发者觉得`