是否有一个 JavaScript 框架专注于通过调整实现差异来扩展 JavaScript?我的意思不是一个简单地跨不同浏览器提供相同功能的框架,而是使非标准浏览器表现得好像它们符合标准的东西。
基本上,我想要一些对 JavaScript有用的东西,ie7.js
对 MSIE 有用的东西或html5shiv
对 HTML5 元素有用的东西。或者 Web Sockets 或 Canvas 的各种解决方法。
我想 jQuery 和它的同类可以做到这一点,但我更喜欢允许我编写正常的、符合标准的 JavaScript 的东西,就好像浏览器之间没有差异一样。
编辑:正如所有其他答案似乎都指出,是的,jQuery 是 JavaScript,是的,大多数 JavaScript 框架都试图提高跨浏览器的兼容性,让我澄清一下我的意思。
如今,跨浏览器的 JavaScript 实现之间的差异与语言本身没有太大关系。除了旧浏览器中缺少一些内置方法外,这些类型的行为也大多相同。但是仍然存在差异,尤其是当前的现状(Chrome/Firefox/Safari)和 MSIE 的旧版本(即 MSIE 7)之间。最值得注意的是,DOM 的 API 往往具有或多或少的微妙特性。
我不想要一个框架,它可以让我编写适用于大多数浏览器的 JavaScript。那是一毛钱。我想要一个薄层,让我可以编写在现代浏览器和旧版浏览器中都可以使用的代码。jQuery、Dojo 等都超越了这一点,并提供了自己独特的 API,而不是统一现有的 API。
说“使用 jQuery”就像说Rich Ajax Platform
如果我想避免跨浏览器呈现差异,我应该使用(或其他代码生成框架)。我不想要一个“替代品”,我想要一个“错误修正”(不是字面意思)。
EDIT2:只是为了说明这一点:我不是在寻找任何框架。我对 jQuery 非常熟悉,已经尝试过 YUI,目前正在考虑尝试 Dojo。我不只是想要一个“好”的框架。我想要一个符合我非常具体的描述的。如果没有类似的东西也没关系,尽管知道为什么不会很有趣(即技术原因,而不是“每个人都忙于使用 jQuery”)。