Thank you for reporting this bug. We will make it our priority to review this report.
-
Sencha User
I hadn't tried
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8">
as I already have
<meta http-equiv="X-UA-Compatible" content="IE=IE9">
because I'm relying on HTML5 features in IE9 and I need to force it into strict IE9 mode.
Could investigate
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8, IE=9">
as you can specify more than one such tag, but I suspect you'll either get IE8 or IE9 mode overall.
Of course if you don't need strict compliance (HTML5, CSS3, etc) then this sounds like an easier fix
-
Sencha Premium User
Ext 3.3.1 knows nothing of IE9
It has no ability to detect IE9, so thinks you are running pre version 6 to a certain extent..
in ext-base-debug.js if you change the following line it appears to work:
Code:
isIE8 = isIE && (check(/msie 8/) && docMode != 7),
to:
Code:
isIE8 = isIE && (check(/msie [89]/) && docMode != 7),
This is clearly a bodge, but I haven't found an issue in my app yet.
You obviously need to make sure you are including the debug file, and you will need to reminify for production.
-
Sencha User
this helpful to me. thanks.
-
Sencha User

Originally Posted by
Inlandschweizer
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8">
Thanks, I like this one. No ExtJS hacking, no javascript override, no one is fooled. It's simple and it works.
-
Ext JS Premium Member
Also, Ext JS 3.4.0 is released, specific to IE9 issues and fixes. Most of the issues seems to be addressed in there !
-
Sencha Premium Member
Override
Hello,
I was façing the same issue on a TreePanel.
IE9 is building its dom as firefox and chrome and so the research of the tree-node-id (tree elements) doesn't retrieve any elements;
This is how I fixed the problem : I overrided the method getAttributeNS of Ext.Element :
Code:
Ext.override(Ext.Element, {
/**
* Returns the value of a namespaced attribute from the element's underlying DOM node.
* @param {String} namespace The namespace in which to look for the attribute
* @param {String} name The attribute name
* @return {String} The attribute value
*/
getAttributeNS : Ext.isIE && !Ext.isIE9 ? function(ns, name){
var d = this.dom;
var type = typeof d[ns+":"+name];
if(type != 'undefined' && type != 'unknown'){
return d[ns+":"+name];
}
return d[name];
} : function(ns, name){
var d = this.dom;
return d.getAttributeNS(ns, name) || d.getAttribute(ns+":"+name) || d.getAttribute(name) || d[name];
}
});
-
Sencha User
Does any one came up with a solution for that? I am using ExtJs 3.2.1 with IE9 and I got this problem. Suggestion:
This is how I fixed the problem : I overrided the method getAttributeNS of Ext.Element :
did not work for me as well. Is anyone working on fixing that in ExtJs team? It is a big problem I think...
Any info would be appreciated...
cheers,
Pawel
-
Sencha User
I fixed the problem in getNode method in Ext.tree.TreeEvenModel:
Code:
Ext.isIE9 = Ext.isIE && (/msie 9/).test(navigator.userAgent.toLowerCase());
if (Ext.isIE9) {
Ext.override(Ext.tree.TreeEventModel, {
getNode: function (e) {
var t;
if (t = e.getTarget('.x-tree-node-el', 10)) {
//var id = Ext.fly(t, '_treeEvents').getAttribute('tree-node-id', 'ext');// BUG !!!
var id = e.getTarget('.x-tree-node-el', 10).getAttribute("ext:tree-node-id") // FIX!!!
if (id) {
return this.tree.getNodeById(id);
}
}
return null;
}
}
Problem was in getting the ID. It was undefined all the time. Method Ext.fly returned null, and this is why Tree did not want to work. Hope this will help someone
cheers!