PDA

View Full Version : Ext 3.x support for IE 10?



brookd
2 Nov 2012, 7:37 AM
Does anyone know when IE10 support will be released. 3.4.2 seems to not work very well with IE 10. The Ext.isIE6 property is 'true' on IE10, which I think must cause all kinds of problems with hacks internally targeted for IE6.

Does anyone know?

rich02818
2 Nov 2012, 9:09 AM
+1 this is critical...

willigogs
2 Nov 2012, 9:51 AM
I'm not usually one for jumping on bandwagons and asking for direct answers regarding timescales (my usual answer when posed such questions is "when it's ready"), but I have to agree with the topic poster that at least some "extremely rough" estimate of when this might appear would be greatly appreciated.

I too am currently being hit over the head on a daily basis by our QA department and customers alike asking when IE10 will be fully supported - and not being able to give an answer can be challenging! :D

From what I can see from my own testing with IE10, I could probably fix the issues I have encountered manually - but if an official release is imminent then I'd rather not waste that time I could dedicate to other projects. Obviously the main aim is to move over to EXT4 which doesn't appear to have the same issues - but that also might take a while ;)

rich02818
2 Nov 2012, 10:34 AM
Does anyone know when IE10 support will be released. 3.4.2 seems to not work very well with IE 10. The Ext.isIE6 property is 'true' on IE10, which I think must cause all kinds of problems with hacks internally targeted for IE6.

Does anyone know?

I hacked ext-base.js to make IE6=false for IE10, but this does not correct the rendering problems. We need Sencha to update v3 to support IE10.

Without this update ExtJS version 3 is effectively unsupported which contradicts everything that Sencha has officially stated. We *really* need an official statement from Sencha so that we can inform our customers that they have a supported product.

willigogs
2 Nov 2012, 10:38 AM
Sencha have already stated that 3.x WILL be updated to support IE10 - so I believe the only remaining question is when this update will be available :)

mitchellsimoens
14 Nov 2012, 7:30 AM
A timeline that may change looks like a 3.4.2 for support subscribers could make it in Q1 of 2013.

willigogs
14 Nov 2012, 7:40 AM
Many thanks Mitchell - the estimated release date is much appreciated :)

willigogs
3 Dec 2012, 8:12 AM
I've now manually updated the ext-base and ext-all files to fix the issues I was experiencing in my app with IE10.

The main issues which were being encountered were:

The shadows of all components being rendered incorrectly.
All dropdown menus (including calendar controls) being given the minimum width, and squashing their contents.
All menu items not displaying their icons
Disabled buttons not displaying as disabled.
The biggest cause of all these issues was because the the EXT code wasn't recognising IE10, therefore set up the code to respond as for IE6. Adding this detection into the base file fixed most of these issues with little additional work required.

willigogs
3 Dec 2012, 9:02 AM
For anyone else wanting to repeat this course of action, I would recommend the following:

In ext-base-debug.js, search for the following pieces of code, then add the sections in green:

isIE = !isOpera && check(/msie/),
isIE7 = isIE && (check(/msie 7/) || docMode == 7),
isIE8 = isIE && (check(/msie 8/) && docMode != 7),
isIE9 = isIE && check(/msie 9/),
isIE10 = isIE && check(/msie 10/),
isIE6 = isIE && !isIE7 && !isIE8 && !isIE9 && !isIE10,


isIE : isIE,
/**
* True if the detected browser is Internet Explorer 6.x.
* @type Boolean
*/
isIE6 : isIE6,
/**
* True if the detected browser is Internet Explorer 7.x.
* @type Boolean
*/
isIE7 : isIE7,
/**
* True if the detected browser is Internet Explorer 8.x.
* @type Boolean
*/
isIE8 : isIE8,
/**
* True if the detected browser is Internet Explorer 9.x.
* @type Boolean
*/
isIE9 : isIE9,
/**
* True if the detected browser is Internet Explorer 10.x.
* @type Boolean
*/
isIE10 : isIE10,


Then in ext-all-debug.js, amend the following line of code to the following:


var cls = [' ',
Ext.isIE ? "ext-ie " + (Ext.isIE6 ? 'ext-ie6' : (Ext.isIE7 ? 'ext-ie7' : (Ext.isIE8 ? 'ext-ie8' : (Ext.isIE9 ? 'ext-ie9' : 'ext-ie10'))))
: Ext.isGecko ? "ext-gecko " + (Ext.isGecko2 ? 'ext-gecko2' : 'ext-gecko3')
: Ext.isOpera ? "ext-opera"
: Ext.isWebKit ? "ext-webkit" : ""];


I would then simply recommend doing what I did, and search through the ext-all-debug.js file for all instances of "isIE" (there are too many to include here) and check if they need amending to include / exclude sections of code based on being "isIE10".

Once complete, minify the modified files and try them out in your app.

jbd007
21 Feb 2013, 12:28 PM
I tried the suggested 'fix' but it didn't help me ... have a bunch of IE10 complaints now from our customers. When will 3.4.2 be available?

willigogs
21 Feb 2013, 12:46 PM
What issues are your customers encountering?

Everything should be easily fixable with small amends to the source files.

adammascherin
22 Feb 2013, 3:03 PM
For anyone else wanting to repeat this course of action, I would recommend the following:

In ext-base-debug.js, search for the following pieces of code, then add the sections in green:

isIE = !isOpera && check(/msie/),
isIE7 = isIE && (check(/msie 7/) || docMode == 7),
isIE8 = isIE && (check(/msie 8/) && docMode != 7),
isIE9 = isIE && check(/msie 9/),
isIE10 = isIE && check(/msie 10/),
isIE6 = isIE && !isIE7 && !isIE8 && !isIE9 && !isIE10,


isIE : isIE,
/**
* True if the detected browser is Internet Explorer 6.x.
* @type Boolean
*/
isIE6 : isIE6,
/**
* True if the detected browser is Internet Explorer 7.x.
* @type Boolean
*/
isIE7 : isIE7,
/**
* True if the detected browser is Internet Explorer 8.x.
* @type Boolean
*/
isIE8 : isIE8,
/**
* True if the detected browser is Internet Explorer 9.x.
* @type Boolean
*/
isIE9 : isIE9,
/**
* True if the detected browser is Internet Explorer 10.x.
* @type Boolean
*/
isIE10 : isIE10,


Then in ext-all-debug.js, amend the following line of code to the following:


var cls = [' ',
Ext.isIE ? "ext-ie " + (Ext.isIE6 ? 'ext-ie6' : (Ext.isIE7 ? 'ext-ie7' : (Ext.isIE8 ? 'ext-ie8' : (Ext.isIE9 ? 'ext-ie9' : 'ext-ie10'))))
: Ext.isGecko ? "ext-gecko " + (Ext.isGecko2 ? 'ext-gecko2' : 'ext-gecko3')
: Ext.isOpera ? "ext-opera"
: Ext.isWebKit ? "ext-webkit" : ""];


This is a great starting point, butafter some fooling around I found out that IE10 no longer supports css filters (http://blogs.msdn.com/b/ie/archive/2012/06/04/legacy-dx-filters-removed-from-ie10-release-preview.aspx). With your modifications, ExtJS will try to render shadows using CSS filters on IE10 and since it no longer supports them you'll still get the ugly solid grey box. To fix this, you will also need to modify Ext.Shadow. There are several checks for isIE -- you will need to check if isIE && !isIE10 in order to fix this. Other than that, this fixes most, if not all fixes.


I would then simply recommend doing what I did, and search through the ext-all-debug.js file for all instances of "isIE" (there are too many to include here) and check if they need amending to include / exclude sections of code based on being "isIE10".
To avoid having to go through all instances of isIE, instead you can do this:

isIE = !isOpera && check(/msie/),isIE7 = isIE && (check(/msie 7/) || docMode == 7),
isIE8 = isIE && (check(/msie 8/) && docMode != 7),
isIE10 = isIE && check(/msie 10/),
isIE9 = isIE && (check(/msie 9/) || isIE10),
isIE6 = isIE && !isIE7 && !isIE8 && !isIE9 && !isIE10,

This way if using IE10, isIE9 and isIE10 will both be true, but the rest of ExtJS's code already has handling for isIE9 so you won't have to modify anything unless you need something specific like the fix for the shadows in IE10 (mentioned above)

Sébastien Dolard
28 Feb 2013, 5:46 AM
Try this until 3.4.2 comes with ie10 support: http://webdesign.about.com/od/internetexplorer/qt/force-compatibility-view-in-ie.htm

adammascherin
28 Feb 2013, 7:01 AM
Try this until 3.4.2 comes with ie10 support: http://webdesign.about.com/od/internetexplorer/qt/force-compatibility-view-in-ie.htm

The instructions in your link will definitely work, but if you want to take advantage of HTML5 features in IE10, this will break them, so it's not really a good solution. See the code snippets above posted by willigogs and myself.

Sébastien Dolard
28 Feb 2013, 7:14 AM
I totaly agree.
Force compatibility mode is not a good solution and should be time limited only.

brookd
11 Mar 2013, 10:39 AM
"A timeline that may change looks like a 3.4.2 for support subscribers could make it in Q1 of 2013."

Is this still true? Can we expect an update for 3.4 for IE10 support any time soon?

evant
11 Mar 2013, 11:25 AM
Please see: http://www.sencha.com/forum/showthread.php?257425-IE10-on-Windows-7-extjs-3-must-be-updated-now&p=946145&viewfull=1#post946145

uwolfer
11 Mar 2013, 10:37 PM
Based on other patches by others I have created a fully working solution for native IE10 support. This way you can use new IE10 features like CSS3 support in IE10.

If you are not using any own build tools, you can use http://www.sencha.com/products/jsbuilder to build an updated ext-all.js (see the readme-file included in that package).

I suggest you also to include the fix for recent WebKit browsers in order to fix grid rendering: http://www.sencha.com/forum/showthread.php?198124-Grids-are-rendered-differently-in-upcoming-versions-of-Google-Chrome&p=891425&viewfull=1#post891425

Btw, I'm thinking about creating an open Git-repository which includes all recent bugfixes required to use ExtJs3 in an application which needs to support all recent browser version. This way anybody who still uses ExtJs3 in a production environment and not wants to update in near future could contribute fixes and use this version. Are you interested in this idea?



--- ext3/adapter/ext/ext-base-debug.js
+++ ext3/adapter/ext/ext-base-debug.js
@@ -68,7 +68,8 @@ Ext.apply = function(o, c, defaults){
isIE7 = isIE && (check(/msie 7/) || docMode == 7),
isIE8 = isIE && (check(/msie 8/) && docMode != 7),
isIE9 = isIE && check(/msie 9/),
- isIE6 = isIE && !isIE7 && !isIE8 && !isIE9,
+ isIE10 = isIE && check(/msie 10/),
+ isIE6 = isIE && !isIE7 && !isIE8 && !isIE9 && !isIE10,
isGecko = !isWebKit && check(/gecko/),
isGecko2 = isGecko && check(/rv:1\.8/),
isGecko3 = isGecko && check(/rv:1\.9/),
@@ -782,6 +783,11 @@ function(el){
*/
isIE9 : isIE9,
/**
+ * True if the detected browser is Internet Explorer 10.x.
+ * @type Boolean
+ */
+ isIE10 : isIE10,
+ /**
* True if the detected browser uses the Gecko layout engine (e.g. Mozilla, Firefox).
* @type Boolean
*/
diff --git ext3/resources/css/ext-all-notheme.css ext3/resources/css/ext-all-notheme.css
index 6bc6765..a9179f9 100644
--- ext3/resources/css/ext-all-notheme.css
+++ ext3/resources/css/ext-all-notheme.css
@@ -1361,7 +1361,8 @@ textarea {
margin-bottom:10px;
}

-.ext-strict .ext-ie9 .x-fieldset legend.x-fieldset-header {
+.ext-strict .ext-ie9 .x-fieldset legend.x-fieldset-header,
+.ext-strict .ext-ie10 .x-fieldset legend.x-fieldset-header {
padding-top: 1px;
}

diff --git ext3/resources/css/ext-all.css ext3/resources/css/ext-all.css
index 8ef5ab6..edad2ab 100644
--- ext3/resources/css/ext-all.css
+++ ext3/resources/css/ext-all.css
@@ -1864,7 +1864,8 @@ textarea {
margin-bottom:10px;
}

-.ext-strict .ext-ie9 .x-fieldset legend.x-fieldset-header {
+.ext-strict .ext-ie9 .x-fieldset legend.x-fieldset-header,
+.ext-strict .ext-ie10 .x-fieldset legend.x-fieldset-header {
padding-top: 1px;
}

diff --git ext3/resources/css/structure/form.css ext3/resources/css/structure/form.css
index 9e7684b..f9df08f 100644
--- ext3/resources/css/structure/form.css
+++ ext3/resources/css/structure/form.css
@@ -491,7 +491,8 @@ textarea {
margin-bottom:10px;
}

-.ext-strict .ext-ie9 .x-fieldset legend.x-fieldset-header {
+.ext-strict .ext-ie9 .x-fieldset legend.x-fieldset-header,
+.ext-strict .ext-ie10 .x-fieldset legend.x-fieldset-header {
padding-top: 1px;
}

diff --git ext3/src/ext-core/src/core/EventManager.js ext3/src/ext-core/src/core/EventManager.js
index f97e525..bf01392 100644
--- ext3/src/ext-core/src/core/EventManager.js
+++ ext3/src/ext-core/src/core/EventManager.js
@@ -602,7 +602,7 @@ Ext.onReady = Ext.EventManager.onDocumentReady;
}

var cls = [' ',
- Ext.isIE ? "ext-ie " + (Ext.isIE6 ? 'ext-ie6' : (Ext.isIE7 ? 'ext-ie7' : (Ext.isIE8 ? 'ext-ie8' : 'ext-ie9')))
+ Ext.isIE ? "ext-ie " + (Ext.isIE6 ? 'ext-ie6' : (Ext.isIE7 ? 'ext-ie7' : (Ext.isIE8 ? 'ext-ie8' : (Ext.isIE9 ? 'ext-ie9' : 'ext-ie10'))))
: Ext.isGecko ? "ext-gecko " + (Ext.isGecko2 ? 'ext-gecko2' : 'ext-gecko3')
: Ext.isOpera ? "ext-opera"
: Ext.isWebKit ? "ext-webkit" : ""];
diff --git ext3/src/widgets/Shadow.js ext3/src/widgets/Shadow.js
index 666b25b..067d311 100644
--- ext3/src/widgets/Shadow.js
+++ ext3/src/widgets/Shadow.js
@@ -29,7 +29,7 @@ Ext.Shadow = function(config) {
a.w = 0;
a.l = a.t = o;
a.t -= 1;
- if (Ext.isIE) {
+ if (Ext.isIE6 || Ext.isIE7 || Ext.isIE8 || Ext.isIE9) { // starting from IE10, it does not support legacy DX filters anymore
a.l -= this.offset + rad;
a.t -= this.offset + rad;
a.w -= rad;
@@ -41,7 +41,7 @@ Ext.Shadow = function(config) {
a.w = (o * 2);
a.l = -o;
a.t = o - 1;
- if (Ext.isIE) {
+ if (Ext.isIE6 || Ext.isIE7 || Ext.isIE8 || Ext.isIE9) {
a.l -= (this.offset - rad);
a.t -= this.offset + rad;
a.l += 1;
@@ -55,7 +55,7 @@ Ext.Shadow = function(config) {
a.l = a.t = -o;
a.t += 1;
a.h -= 2;
- if (Ext.isIE) {
+ if (Ext.isIE6 || Ext.isIE7 || Ext.isIE8 || Ext.isIE9) {
a.l -= (this.offset - rad);
a.t -= (this.offset - rad);
a.l += 1;
@@ -100,7 +100,7 @@ Ext.Shadow.prototype = {
}
}
this.el.setStyle("z-index", this.zIndex || parseInt(target.getStyle("z-index"), 10) - 1);
- if (Ext.isIE) {
+ if (Ext.isIE6 || Ext.isIE7 || Ext.isIE8 || Ext.isIE9) {
this.el.dom.style.filter = "progidXImageTransform.Microsoft.alpha(opacity=50) progidXImageTransform.Microsoft.Blur(pixelradius=" + (this.offset) + ")";
}
this.realign(
@@ -146,7 +146,7 @@ Ext.Shadow.prototype = {
if (s.width != sws || s.height != shs) {
s.width = sws;
s.height = shs;
- if (!Ext.isIE) {
+ if (!Ext.isIE6 && !Ext.isIE7 && !Ext.isIE8 && !Ext.isIE9) {
cn = d.childNodes;
sww = Math.max(0, (sw - 12)) + "px";
cn[0].childNodes[1].style.width = sww;
@@ -183,7 +183,7 @@ Ext.Shadow.prototype = {
// Private utility class that manages the internal Shadow cache
Ext.Shadow.Pool = function() {
var p = [],
- markup = Ext.isIE ?
+ markup = Ext.isIE6 || Ext.isIE7 || Ext.isIE8 || Ext.isIE9 ?
'<div class="x-ie-shadow"></div>':
'<div class="x-shadow"><div class="xst"><div class="xstl"></div><div class="xstc"></div><div class="xstr"></div></div><div class="xsc"><div class="xsml"></div><div class="xsmc"></div><div class="xsmr"></div></div><div class="xsb"><div class="xsbl"></div><div class="xsbc"></div><div class="xsbr"></div></div></div>';
return {
diff --git ext3/src/widgets/layout/MenuLayout.js ext3/src/widgets/layout/MenuLayout.js
index 1e3dd0b..c46fd00 100644
--- ext3/src/widgets/layout/MenuLayout.js
+++ ext3/src/widgets/layout/MenuLayout.js
@@ -92,7 +92,7 @@
if(w){
ct.setWidth(w);
}else if(Ext.isIE){
- ct.setWidth(Ext.isStrict && (Ext.isIE7 || Ext.isIE8 || Ext.isIE9) ? 'auto' : ct.minWidth);
+ ct.setWidth(Ext.isStrict && (Ext.isIE7 || Ext.isIE8 || Ext.isIE9 || Ext.isIE10) ? 'auto' : ct.minWidth);
var el = ct.getEl(), t = el.dom.offsetWidth; // force recalc
ct.setWidth(ct.getLayoutTarget().getWidth() + el.getFrameWidth('lr'));
}
diff --git a/web/core/module/resources/webapp/js/nice2/app/LoginWindow.js b/web/core/module/resources/webapp/js/nice2/app/LoginWindow.js
index 8d48554..e0d1bed 100644
--- a/web/core/module/resources/webapp/js/nice2/app/LoginWindow.js
+++ b/web/core/module/resources/webapp/js/nice2/app/LoginWindow.js
@@ -121,7 +121,7 @@ Ext.extend(nice2.app.LoginWindow, Ext.util.Observable, {

this.loginPanel.initPanel();

- if (!Ext.isWebKit && !Ext.isGecko && !Ext.isIE7 && !Ext.isIE8 && !Ext.isIE9) {
+ if (!Ext.isWebKit && !Ext.isGecko && !Ext.isIE7 && !Ext.isIE8 && !Ext.isIE9 && !Ext.isIE10) {
this.unsupportedBrowser.show();
}
if ((Ext.isIE7 || Ext.isIE8)) {
--
1.8.1.5

Ron Howard
12 Mar 2013, 6:43 AM
Make sure the isIE flags are set correctly also since your adding isIE10.

Ext JS 4.1 was fixed after I showed Don at Senchacon it was wrong for 4.1 beta.

Ext JS 3.x never got fixed on the documentmode with isIE flags.

It actually fixed a lot of css issues I was having with a custom theme by correcting the isIE flags between ext-base.js and ext-all.js.

http://www.sencha.com/forum/showthread.php?138690-EXTJSIV-3449-Ext-3-4-CSS-issues-with-isIE7-and-isIE8&p=619900&viewfull=1#post619900

tim594
14 Mar 2013, 3:48 PM
any movement on this? Q2 / 2013 is around the corner..... has the fix been officially released?

iklotzko
15 Mar 2013, 11:21 AM
I set my compat to IE9,8,7 in the headers server side,



String userAgent = req.getHeader("user-agent");
//System.out.println("user-agent=" + userAgent);
if (userAgent != null && userAgent.contains("MSIE 10.")) {
wpResp.setHeader("X-UA-Compatible", "IE=9; IE=8; IE=7;");
}


I get an IE error: 'createContextualFragment' is undefined. I also get some very bizarre renderings on components. I know this isn't supported in IE9, yet, it is there in the ext code. I'm using 3.3.1

Any ideas? Upgrade to a later 3.x version? Would really rather not right now as that always seems to take too much time and requires full regression testing from resources that, quite frankly, we don't have to spare.

Ron Howard
15 Mar 2013, 11:40 AM
Ext JS 3.4 is IE7/8/9 compatible.
Ext JS 3.3.1 is IE7/8 only.

iklotzko
15 Mar 2013, 12:02 PM
Gotchya, thanks very much!

ehsan.e
19 May 2013, 1:47 AM
hi, i tried your way, and i got the right layout, tnx a lot , i just have one problem, first time my site rendered in to browser , just for a moment everything does not look good , and after 1 or 2 second everything look okey. if u can help me , i very appreciate that. tnx a lot again.


Based on other patches by others I have created a fully working solution for native IE10 support. This way you can use new IE10 features like CSS3 support in IE10.

If you are not using any own build tools, you can use http://www.sencha.com/products/jsbuilder to build an updated ext-all.js (see the readme-file included in that package).

I suggest you also to include the fix for recent WebKit browsers in order to fix grid rendering: http://www.sencha.com/forum/showthread.php?198124-Grids-are-rendered-differently-in-upcoming-versions-of-Google-Chrome&p=891425&viewfull=1#post891425

Btw, I'm thinking about creating an open Git-repository which includes all recent bugfixes required to use ExtJs3 in an application which needs to support all recent browser version. This way anybody who still uses ExtJs3 in a production environment and not wants to update in near future could contribute fixes and use this version. Are you interested in this idea?



--- ext3/adapter/ext/ext-base-debug.js
+++ ext3/adapter/ext/ext-base-debug.js
@@ -68,7 +68,8 @@ Ext.apply = function(o, c, defaults){
isIE7 = isIE && (check(/msie 7/) || docMode == 7),
isIE8 = isIE && (check(/msie 8/) && docMode != 7),
isIE9 = isIE && check(/msie 9/),
- isIE6 = isIE && !isIE7 && !isIE8 && !isIE9,
+ isIE10 = isIE && check(/msie 10/),
+ isIE6 = isIE && !isIE7 && !isIE8 && !isIE9 && !isIE10,
isGecko = !isWebKit && check(/gecko/),
isGecko2 = isGecko && check(/rv:1\.8/),
isGecko3 = isGecko && check(/rv:1\.9/),
@@ -782,6 +783,11 @@ function(el){
*/
isIE9 : isIE9,
/**
+ * True if the detected browser is Internet Explorer 10.x.
+ * @type Boolean
+ */
+ isIE10 : isIE10,
+ /**
* True if the detected browser uses the Gecko layout engine (e.g. Mozilla, Firefox).
* @type Boolean
*/
diff --git ext3/resources/css/ext-all-notheme.css ext3/resources/css/ext-all-notheme.css
index 6bc6765..a9179f9 100644
--- ext3/resources/css/ext-all-notheme.css
+++ ext3/resources/css/ext-all-notheme.css
@@ -1361,7 +1361,8 @@ textarea {
margin-bottom:10px;
}

-.ext-strict .ext-ie9 .x-fieldset legend.x-fieldset-header {
+.ext-strict .ext-ie9 .x-fieldset legend.x-fieldset-header,
+.ext-strict .ext-ie10 .x-fieldset legend.x-fieldset-header {
padding-top: 1px;
}

diff --git ext3/resources/css/ext-all.css ext3/resources/css/ext-all.css
index 8ef5ab6..edad2ab 100644
--- ext3/resources/css/ext-all.css
+++ ext3/resources/css/ext-all.css
@@ -1864,7 +1864,8 @@ textarea {
margin-bottom:10px;
}

-.ext-strict .ext-ie9 .x-fieldset legend.x-fieldset-header {
+.ext-strict .ext-ie9 .x-fieldset legend.x-fieldset-header,
+.ext-strict .ext-ie10 .x-fieldset legend.x-fieldset-header {
padding-top: 1px;
}

diff --git ext3/resources/css/structure/form.css ext3/resources/css/structure/form.css
index 9e7684b..f9df08f 100644
--- ext3/resources/css/structure/form.css
+++ ext3/resources/css/structure/form.css
@@ -491,7 +491,8 @@ textarea {
margin-bottom:10px;
}

-.ext-strict .ext-ie9 .x-fieldset legend.x-fieldset-header {
+.ext-strict .ext-ie9 .x-fieldset legend.x-fieldset-header,
+.ext-strict .ext-ie10 .x-fieldset legend.x-fieldset-header {
padding-top: 1px;
}

diff --git ext3/src/ext-core/src/core/EventManager.js ext3/src/ext-core/src/core/EventManager.js
index f97e525..bf01392 100644
--- ext3/src/ext-core/src/core/EventManager.js
+++ ext3/src/ext-core/src/core/EventManager.js
@@ -602,7 +602,7 @@ Ext.onReady = Ext.EventManager.onDocumentReady;
}

var cls = [' ',
- Ext.isIE ? "ext-ie " + (Ext.isIE6 ? 'ext-ie6' : (Ext.isIE7 ? 'ext-ie7' : (Ext.isIE8 ? 'ext-ie8' : 'ext-ie9')))
+ Ext.isIE ? "ext-ie " + (Ext.isIE6 ? 'ext-ie6' : (Ext.isIE7 ? 'ext-ie7' : (Ext.isIE8 ? 'ext-ie8' : (Ext.isIE9 ? 'ext-ie9' : 'ext-ie10'))))
: Ext.isGecko ? "ext-gecko " + (Ext.isGecko2 ? 'ext-gecko2' : 'ext-gecko3')
: Ext.isOpera ? "ext-opera"
: Ext.isWebKit ? "ext-webkit" : ""];
diff --git ext3/src/widgets/Shadow.js ext3/src/widgets/Shadow.js
index 666b25b..067d311 100644
--- ext3/src/widgets/Shadow.js
+++ ext3/src/widgets/Shadow.js
@@ -29,7 +29,7 @@ Ext.Shadow = function(config) {
a.w = 0;
a.l = a.t = o;
a.t -= 1;
- if (Ext.isIE) {
+ if (Ext.isIE6 || Ext.isIE7 || Ext.isIE8 || Ext.isIE9) { // starting from IE10, it does not support legacy DX filters anymore
a.l -= this.offset + rad;
a.t -= this.offset + rad;
a.w -= rad;
@@ -41,7 +41,7 @@ Ext.Shadow = function(config) {
a.w = (o * 2);
a.l = -o;
a.t = o - 1;
- if (Ext.isIE) {
+ if (Ext.isIE6 || Ext.isIE7 || Ext.isIE8 || Ext.isIE9) {
a.l -= (this.offset - rad);
a.t -= this.offset + rad;
a.l += 1;
@@ -55,7 +55,7 @@ Ext.Shadow = function(config) {
a.l = a.t = -o;
a.t += 1;
a.h -= 2;
- if (Ext.isIE) {
+ if (Ext.isIE6 || Ext.isIE7 || Ext.isIE8 || Ext.isIE9) {
a.l -= (this.offset - rad);
a.t -= (this.offset - rad);
a.l += 1;
@@ -100,7 +100,7 @@ Ext.Shadow.prototype = {
}
}
this.el.setStyle("z-index", this.zIndex || parseInt(target.getStyle("z-index"), 10) - 1);
- if (Ext.isIE) {
+ if (Ext.isIE6 || Ext.isIE7 || Ext.isIE8 || Ext.isIE9) {
this.el.dom.style.filter = "progidXImageTransform.Microsoft.alpha(opacity=50) progidXImageTransform.Microsoft.Blur(pixelradius=" + (this.offset) + ")";
}
this.realign(
@@ -146,7 +146,7 @@ Ext.Shadow.prototype = {
if (s.width != sws || s.height != shs) {
s.width = sws;
s.height = shs;
- if (!Ext.isIE) {
+ if (!Ext.isIE6 && !Ext.isIE7 && !Ext.isIE8 && !Ext.isIE9) {
cn = d.childNodes;
sww = Math.max(0, (sw - 12)) + "px";
cn[0].childNodes[1].style.width = sww;
@@ -183,7 +183,7 @@ Ext.Shadow.prototype = {
// Private utility class that manages the internal Shadow cache
Ext.Shadow.Pool = function() {
var p = [],
- markup = Ext.isIE ?
+ markup = Ext.isIE6 || Ext.isIE7 || Ext.isIE8 || Ext.isIE9 ?
'<div class="x-ie-shadow"></div>':
'<div class="x-shadow"><div class="xst"><div class="xstl"></div><div class="xstc"></div><div class="xstr"></div></div><div class="xsc"><div class="xsml"></div><div class="xsmc"></div><div class="xsmr"></div></div><div class="xsb"><div class="xsbl"></div><div class="xsbc"></div><div class="xsbr"></div></div></div>';
return {
diff --git ext3/src/widgets/layout/MenuLayout.js ext3/src/widgets/layout/MenuLayout.js
index 1e3dd0b..c46fd00 100644
--- ext3/src/widgets/layout/MenuLayout.js
+++ ext3/src/widgets/layout/MenuLayout.js
@@ -92,7 +92,7 @@
if(w){
ct.setWidth(w);
}else if(Ext.isIE){
- ct.setWidth(Ext.isStrict && (Ext.isIE7 || Ext.isIE8 || Ext.isIE9) ? 'auto' : ct.minWidth);
+ ct.setWidth(Ext.isStrict && (Ext.isIE7 || Ext.isIE8 || Ext.isIE9 || Ext.isIE10) ? 'auto' : ct.minWidth);
var el = ct.getEl(), t = el.dom.offsetWidth; // force recalc
ct.setWidth(ct.getLayoutTarget().getWidth() + el.getFrameWidth('lr'));
}
diff --git a/web/core/module/resources/webapp/js/nice2/app/LoginWindow.js b/web/core/module/resources/webapp/js/nice2/app/LoginWindow.js
index 8d48554..e0d1bed 100644
--- a/web/core/module/resources/webapp/js/nice2/app/LoginWindow.js
+++ b/web/core/module/resources/webapp/js/nice2/app/LoginWindow.js
@@ -121,7 +121,7 @@ Ext.extend(nice2.app.LoginWindow, Ext.util.Observable, {

this.loginPanel.initPanel();

- if (!Ext.isWebKit && !Ext.isGecko && !Ext.isIE7 && !Ext.isIE8 && !Ext.isIE9) {
+ if (!Ext.isWebKit && !Ext.isGecko && !Ext.isIE7 && !Ext.isIE8 && !Ext.isIE9 && !Ext.isIE10) {
this.unsupportedBrowser.show();
}
if ((Ext.isIE7 || Ext.isIE8)) {
--
1.8.1.5

enrico.p89
30 Aug 2013, 12:40 AM
"A timeline that may change looks like a 3.4.2 for support subscribers could make it in Q1 of 2013."

News??

willigogs
30 Aug 2013, 1:34 AM
"A timeline that may change looks like a 3.4.2 for support subscribers could make it in Q1 of 2013."

News??
IE10 support was released publicly as 3.4.1.1 in April...
http://www.sencha.com/forum/showthread.php?260398-Ext-JS-3.4.1.1-Available-Full-Public-Release!

dee1
24 Sep 2013, 10:26 PM
Any further news on 3.4.2?

Unfortunately the 3.4.1.1 IE10 release has introduced further bugs for us in IE10 and not solved the IE9 ones http://www.sencha.com/forum/showthread.php?230978

We have a pressing need for this as we're having to use Ext 3.4.0 with IE8 X-UA-Compatible. Unfortunately this doent seem to work for IFrames in IE when the parent window doesnt have X-UA-Compatible - of which we have no control of what's in the parent window.

ing_marco
26 Feb 2014, 3:44 PM
Estimados, he descargado al versión 3.4.1.1 esperando que esto corrija mi problema con los combobox, calendarios que tiene su pulsadores ligeramente desalineado, pero no resuelve el problema.
Saben si hay alguna forma de solucionar esto?