2012-04-25 106 views
2

我听说EXTJS是独立于浏览器的JavaScript库。 extjs如何使浏览器独立于自己?当我打开库类时,我看不到如下代码:
if(IE)// do this; else if(FF)// do something else;extjs如何独立于浏览器

我的理解是正确的,extjs是浏览器独立的?

回答

5

除煞的角度来看,我知道,ExtJS的使用条件检查浏览器功能,并选择是否使用诸如图片之类的东西,或使用css来获得特定的视觉效果。

这样做的两个例子是,它可以通过图像在IE6的小部件上生成圆角,但在支持它的任何事情中,它将使用CSS中的'border-radius'。

这也适用于窗口小部件中的渐变,它们在旧版浏览器中呈现为图像,但在受支持的情况下使用CSS3渐变。

通常,从我看到的情况来看,ExtJS使用“功能检测”来计算出当前浏览器支持的内容并进行相应的响应。另一个例子是图表类,如果支持SVG,则呈现类,或者在旧版浏览器上呈现VML。

ExtJS中有一些类可以用来执行特征检测,如果您希望在内置操作中执行任何特定外部操作。我可以想象它在底层使用这些来决定渲染什么。除此之外,应该注意的是,每隔一次又一次,您可以注意到浏览器版本之间存在奇怪的差异,通常会产生令人讨厌的小视觉效果,例如滚动条出现在一个浏览器中,而不是另一个,这可能只是这是其他代码的一个症状,但我知道我们在IE8,IE9和Chrome上测试的时候会遇到一些怪癖。

4

它是独立于浏览器的。据我所知,他们有不同的浏览器CSS定义。如果你想看看JS代码有什么区别,你将不得不更深入 - 可能在一些ExtJs核心文件中。

我们一直在使用它至今在IE,FF,Chrome浏览器,Safari浏览器,移动Safari浏览器等

相关问题