PDA

View Full Version : Problems in IE7 with latest version



N00be
31 Jan 2010, 7:23 PM
I got the latest version of Extjs 3.1 and started moving our application from 2.2

I was certainly expecting problems/changes but this one is quite annoying.

In 2.2 I had this under Ext.onRead() and everything was working fine.
(Though in IE7 I had double tool tips one with yellow background and other extjs styled..sometimes)

Ext.QuickTips.init();

Ext.apply(Ext.QuickTips.getQuickTip(), {
maxWidth: 200,
minWidth: 100,
showDelay: 50,
trackMouse: true,
interceptTitles:true
});

coming to 3.1, tooltips is broken. When I mouse over any button or field that has a tooltip,
the tooltip width goes out ofwhack in IE7 and I get a script error.

Upon debugging I see the error in setStyle() method in the framework where value of "width" style property is "NaNpx"

I am still searching through this forum to see if any one got the same problem. I did read through the first thread about migrating to 3.1x.

In the mean time I would appreciate if anyone post a solution/suggestion.

My layouts and grids seems to be broken as well..I guess I have some busy days now :-?

N00be
2 Feb 2010, 7:45 PM
Almost all of the textboxes, buttons, menuitems etc are causing script error in IE7 when "width" is not specified.

All of them end at one place, setStyle(). There is no problem in FF3

Anyone faced a similar problem with IE7 and Ext 3.1 ?

:-?

N00be
4 Feb 2010, 7:37 PM
I really don't know what the issue is in IE7.
I am upgrading my app to 3.1 and everything is working as expected in 2.1

So, basically, I replaced this method in ext-all-debug.js (for testing)


setStyle : function(prop, value){
var tmp,
style,
camel;
if (!Ext.isObject(prop)) {
tmp = {};
tmp[prop] = value;
prop = tmp;
}
for (style in prop) {
value = prop[style];
style == 'opacity' ?
this.setOpacity(value) :
this.dom.style[chkCache(style)] = value;
}
return this;
}with this



setStyle : function(prop, value){
var tmp,
style,
camel;
if (!Ext.isObject(prop)) {
tmp = {};
tmp[prop] = value;
prop = tmp;
}
for (style in prop) {
value = prop[style];

if(style == 'opacity')
this.setOpacity(value);
else if(style == 'width' && value != 'NaNpx')
this.dom.style[chkCache(style)] = value;
}
return this;
}