你自己搞一个自己浏览器的特性, 可是别的浏览器不支持, 谁会去用这个特性呢? 没有人写代码只支持一家浏览器吧, 至少90%的人会用兼容代码吧, 所以大量的浏览器的不兼容特性都是浪费资源, 一个浏览器, 只支持大家都支持的特性足够了.举个例子, innerText这个属性很好用, 很方便, 可是firefox不支持, 只要他一家不支持, 就意味着我不能用这个属性, 因为我反正要写个getElementText函数, 我就没有必要再判断是否支持innerText再决定是否直接使用还是调用自定义函数. 而且各家浏览器在innerText上表现也不同, 更加迫使我必须使用自己的getElementText函数. 感觉大量的浏览器高级属性和方法, 实际上现实中都不能用, 反正要写兼容代码, 索性写个大家都支持的方法, 除了必须根据浏览器来使用不同方法的情况.搞浏览器这帮人真烦, 你要么就别兼容, 就像苹果, 自己平台我自己一套方法, 你们别跟我起哄. 即兼容又兼容的不彻底, 比不兼容还烦, 如果谁也不兼容谁, 大家就分着写代码就完了, 反倒简单.

解决方案 »

  1.   

    如果各家都不支持innerText这个属性, 肯定会有人写一个方法来完成这个功能, 自然就兼容了, 提供这个属性, 反倒让大家有的用, 有的不用, 查阅的资料浪费的时间都更多, 不同的人维护起来也耗费更多的精力时间.经常在网上查个东西, 答案很多, 可是他妈的只支持IE浏览器, 这种方法你发出来干什么, 谁他吗写网站只支持IE浏览器呀, 看了半天, 研究半天, 测试半天, 都是浪费时间. 有那种恼残网站吗? 除了12306.
      

  2.   

    话说,要真没有这些差异性,相信jQuery也没这么流行了
      

  3.   

    本就无法做到完全一致,因为开发人员不同,采取的技术也不同。但浏览器都会支持标准语法,至于不标准语法,浏览器会按自己的逻辑解析,这个无可厚非。比如你说的innerText就不是标准语法,浏览器完全可以不支持
      

  4.   


    你们都没明白, 他就不应该支持这种功能, 我举个例子, 浏览器厂商就好比插座生产商, 程序员就好比电器生产商, 用户就是消费者. 插座和插头必须有一个公共标准, 插头才能插到插座上. 如果一个插座厂商, 除了标准接口之外, 还搞了一些自己样式的插口, 那么哪个电器厂商敢使用他那个特殊接口呢? 因为消费者家里的插座如果不是这个非准接口, 就意味着不能使用这种电器, 没有电器厂商会这么做的, 而且它也没有必要做两个插头, 因为一个标准的就够了, 另一个非标准的是没有必要的. 最终那些非标准接口就是浪费, 永远不可能有人去用. 浏览器市场, 没有电器插座那么硬性的标准, 而且远比插座要复杂的多, 所以确实有人再用那些非标准的接口, 但是这些程序写出来, 肯定不能在其它浏览器里运行, 同样的, 也没有必要写两套标准和非标准的程序, 一套标准的就足够了. 所以这种额外的支持, 不但没有带来方便, 反倒带来了额外的兼容陷阱. 况且, 标准也不那么完备, 即使是标准方法, 也还是有差异.看看Android程序开发, 标准太重要了, 现在大的公司可能需要在数百种设备上做测试,虽然Android是统一的, 但是厂家在具体上层实现, 也就是他主宰的那一部分, 完全的混乱. 而Windwos就没有这个问题, Window在不同设备上表现高度一致, 只要Window版本相同.
      

  5.   

    不知你有没有听过一句话,"本来没有路,走的人多了,也就成了路",标准也一样,不是标准,如果确实好用且没有安全隐患,那浏览器就会支持起来方便开发者,那下次发布html标准,它可能就成为标准了;
    就算稳固如插座一样,如果将来出现4项交流电什么的(只是举例),谁能肯定不会有4个孔的插座?