How to build a customized Dojo package
In the commands below, $VERSION is the Dojo release version, e.g. 0.4.1.
Browse http://svn.dojotoolkit.org/dojo/tags
for possible values.
 |
0.4.1 is the last supported version of the 0.4 branch. For future versions, we plan to upgrade to Dojo 0.9/1.0. |
Context Menu IE7 fix
In the standard Dojo 0.4.1 build, the context menu is opened at the wrong position in IE7. To fix this, you have to remove the lines
if(iframe){
var cood = dojo.html.abs(iframe, true);
x += cood.x - dojo.withGlobal(win, dojo.html.getScroll).left;
y += cood.y - dojo.withGlobal(win, dojo.html.getScroll).top;
}
in src/widget/Menu2.js (approx. line 300) (see Dojo Bug 2317
)
"Cannot execute code from freed script" IE7 fix
Dojo's addOnUnload methods sometimes seems to trigger too late and leads to this error in IE7. To solve this, apply the workaround from http://tc2tc.mojolingo.xuite.net/m2m-0400/trac.dojotoolkit.org/ticket/3697
:
1/ In src/event/common.js, line 313:
REPLACE
mjp.kwAddAdvice(ao);
BY
try { mjp.kwAddAdvice(ao); } catch (e) { return null; }
2/ In src/event/common.js, line 452:
REPLACE
mjp.removeAdvice(ao.adviceObj, ao.adviceFunc, ao.adviceType, ao.once);
BY
try { mjp.removeAdvice(ao.adviceObj,ao.adviceFunc,ao.adviceType,ao.once); } catch (e) { return null; }
3/ In src/widget/PopupContainer.js, line 376
SURROUND THE BLOCK lines 376-382 WITH
try { if(win.PopupManagerRegistered){ dojo.event.disconnect(win.document,"onmousedown",this,"onClick"); dojo.event.disconnect(win,"onscroll",this,"onClick"); dojo.event.disconnect(win.document,"onkey",this,"onKey"); win.PopupManagerRegistered=false; } } catch (e) {}