当我尝试在IE11中使用Ext.isIE时,我得到错误的返回值.然后在调试我的代码时,我看到我收到以下错误:JavaScript错误 - 消息:无效的参数.,我的extjs的版本是:4,2
mat*_*att 11
在ExtJS 4.2.2之前,IE 11未得到官方支持(参见属性isIE11).Microsoft MSIE从IE11的用户代理中删除了该部分(请参阅此处),这就是它无法与ExtJS 4.2.1及更低版本一起使用的原因.
从源代码,对于ExtJS 4.2.1:
isIE = !isOpera && check(/msie/),
isIE7 = isIE && ((check(/msie 7/) && docMode != 8 && docMode != 9 && docMode != 10) || docMode == 7),
isIE8 = isIE && ((check(/msie 8/) && docMode != 7 && docMode != 9 && docMode != 10) || docMode == 8),
isIE9 = isIE && ((check(/msie 9/) && docMode != 7 && docMode != 8 && docMode != 10) || docMode == 9),
isIE10 = isIE && ((check(/msie 10/) && docMode != 7 && docMode != 8 && docMode != 9) || docMode == 10),
isIE6 = isIE && check(/msie 6/),
Run Code Online (Sandbox Code Playgroud)
对于ExtJS 4.2.2:
isIE = !isOpera && (check(/msie/) || check(/trident/)),
isIE7 = isIE && ((check(/msie 7/) && docMode != 8 && docMode != 9 && docMode != 10) || docMode == 7),
isIE8 = isIE && ((check(/msie 8/) && docMode != 7 && docMode != 9 && docMode != 10) || docMode == 8),
isIE9 = isIE && ((check(/msie 9/) && docMode != 7 && docMode != 8 && docMode != 10) || docMode == 9),
isIE10 = isIE && ((check(/msie 10/) && docMode != 7 && docMode != 8 && docMode != 9) || docMode == 10),
isIE11 = isIE && ((check(/trident\/7\.0/) && docMode != 7 && docMode != 8 && docMode != 9 && docMode != 10) || docMode == 11),
isIE6 = isIE && check(/msie 6/),
Run Code Online (Sandbox Code Playgroud)