Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#17728 closed defect (worksforme)

dijit.layout._LayoutWidget make faulty presumption about IE resize behavior

Reported by: blacknugget Owned by:
Priority: undecided Milestone: tbd
Component: Dijit Version: 1.6.2
Keywords: Cc:
Blocked By: Blocking:

Description

In versions 1.4.5 - 1.6.2

there is a mistake in the way the connect registration call on line 56 works with IE11.

this.connect(dojo.isIE ? this.domNode : dojo.global, 'onresize', function(){
					// Using function(){} closure to ensure no arguments to resize.
					this.resize();
				});

Starting with IE11 specifically, Microsoft has evolved the browser platform and wiped out support for legacy APIs.

Please do *not* assume that IE will bind the resize event to the DOM node of the widget, but rather the global window. Microsoft finally took one step in the right direction, and will continue, however many years it takes them, to be W3C compliant.

Dojo development team must take stringent measures to remove the isIE or has IE checks and replace it with feature testing -- if that is considered to be "easier" to implement. I personally have written many widgets littered with dojo.isIE in the past and am trying to wean myself away from that habit.

Currently , with IE11 on dojo 1.4.5 - 1.6.2, complex layout widgets, containing other nested layout widgets in frames don't resize themselves correctly.

Change History (2)

comment:1 Changed 5 years ago by bill

Resolution: worksforme
Status: newclosed

There shouldn't be an issue with the code you mentioned because dojo.isIE is false for IE11. However, IE11 is not supported in such old versions of Dojo like 1.6. Why don't you upgrade to 1.9?

Also, the code you are quoting was removed many years ago, in https://github.com/dojo/dijit/commit/e779c56.

comment:2 Changed 5 years ago by blacknugget

Bill, I agree that our underlying application should upgrade to 1.9, but our codebase has committed to an older 1.4.5 revision. In addition, we requested Sitepen to update 1.4 to support IE9, which they did in 2012. Perhaps another request is inline for IE11 support? The backporting changes are limited to fixing deprecated APIs.

I could recommend those patches to fix 1.4.5-1.6.2, if it is of interest to the general community at large who may have apps running legacy Dojo version.

Note: See TracTickets for help on using tickets.