你自己搞一个自己浏览器的特性, 可是别的浏览器不支持, 谁会去用这个特性呢? 没有人写代码只支持一家浏览器吧, 至少90%的人会用兼容代码吧, 所以大量的浏览器的不兼容特性都是浪费资源, 一个浏览器, 只支持大家都支持的特性足够了.举个例子, innerText这个属性很好用, 很方便, 可是firefox不支持, 只要他一家不支持, 就意味着我不能用这个属性, 因为我反正要写个getElementText函数, 我就没有必要再判断是否支持innerText再决定是否直接使用还是调用自定义函数. 而且各家浏览器在innerText上表现也不同, 更加迫使我必须使用自己的getElementText函数. 感觉大量的浏览器高级属性和方法, 实际上现实中都不能用, 反正要写兼容代码, 索性写个大家都支持的方法, 除了必须根据浏览器来使用不同方法的情况.搞浏览器这帮人真烦, 你要么就别兼容, 就像苹果, 自己平台我自己一套方法, 你们别跟我起哄. 即兼容又兼容的不彻底, 比不兼容还烦, 如果谁也不兼容谁, 大家就分着写代码就完了, 反倒简单.
你们都没明白, 他就不应该支持这种功能, 我举个例子, 浏览器厂商就好比插座生产商, 程序员就好比电器生产商, 用户就是消费者. 插座和插头必须有一个公共标准, 插头才能插到插座上. 如果一个插座厂商, 除了标准接口之外, 还搞了一些自己样式的插口, 那么哪个电器厂商敢使用他那个特殊接口呢? 因为消费者家里的插座如果不是这个非准接口, 就意味着不能使用这种电器, 没有电器厂商会这么做的, 而且它也没有必要做两个插头, 因为一个标准的就够了, 另一个非标准的是没有必要的. 最终那些非标准接口就是浪费, 永远不可能有人去用. 浏览器市场, 没有电器插座那么硬性的标准, 而且远比插座要复杂的多, 所以确实有人再用那些非标准的接口, 但是这些程序写出来, 肯定不能在其它浏览器里运行, 同样的, 也没有必要写两套标准和非标准的程序, 一套标准的就足够了. 所以这种额外的支持, 不但没有带来方便, 反倒带来了额外的兼容陷阱. 况且, 标准也不那么完备, 即使是标准方法, 也还是有差异.看看Android程序开发, 标准太重要了, 现在大的公司可能需要在数百种设备上做测试,虽然Android是统一的, 但是厂家在具体上层实现, 也就是他主宰的那一部分, 完全的混乱. 而Windwos就没有这个问题, Window在不同设备上表现高度一致, 只要Window版本相同.
就算稳固如插座一样,如果将来出现4项交流电什么的(只是举例),谁能肯定不会有4个孔的插座?