2

我听说 EXTJS 是一个独立于浏览器的 JavaScript 库。extjs 如何让自己独立于浏览器?当我打开库类时,我看不到任何类似的代码:
if (IE)//do this; else if (FF) // 做其他事情;

我对 extjs 独立于浏览器的理解是否正确?

4

2 回答 2

5

除了 sha 的观点,我知道 ExtJS 对浏览器功能使用条件检查,并选择是否使用图像或 css 之类的东西来获得特定的视觉效果。

这方面的两个例子是它设法通过图像在 IE6 中的小部件上生成圆角,但在任何支持它的东西中,它将在 CSS 中使用“border-radius”。

小部件中的渐变也是如此,它在旧浏览器中呈现为图像,但在支持的情况下使用 CSS3 渐变。

作为一项规则,据我所知,ExtJS 使用“功能检测”来确定您当前的浏览器支持什么并做出适当的响应。另一个例子是它的图表类,如果支持,它会呈现为 SVG,或者在旧浏览器上呈现为 VML。

ExtJS 中有一些类可以用来执行特征检测,如果您希望在内置操作之外执行任何特定操作。我想它会在后台使用这些来决定渲染什么。

That aside, it should be noted that every now and again, you can notice odd discrepancies between browser versions, usually annoying little visual effects, like a scrollbar being present in one browser an not in another, this could however just be a symptom of other code, but I know we've seen a few little quirks from time to time when testing accross IE8, IE9 and Chrome for example.

于 2012-04-25T08:46:06.420 回答
4

它独立于浏览器。据我所知,他们对不同的浏览器有一些不同的 CSS 定义。如果您想查看 JS 代码是否有任何差异,您将不得不更深入地查看 - 可能在某些 ExtJs 核心文件中。

到目前为止,我们一直在 IE、FF、Chrome、Safari、Mobile Safari 等上使用它。

于 2012-04-25T01:35:47.103 回答