Opened 7 years ago

Last modified 2 years ago

#15537 assigned defect

vml.js fails if dom is not ready yet

Reported by: adros Owned by: dylan
Priority: undecided Milestone: 1.15
Component: DojoX GFX Version: 1.7.2
Keywords: Cc:
Blocked By: Blocking:

Description

If I require "dojox/gfx" in IE7, it loads: dojox/gfx -> dojox/gfx/renderer -> dojox/gfx/vml and in the factory function of vml.js is this piece of code:

document.namespaces.add("v", vml.xmlns);

which fails if dom is not ready yet, because none of mentioned modules waits for domReady.

I think that vml.js should require of "dojo/domReady!".

Note: This didn't happen before I have built the sources using Dojo build system. But I don't think that it is build related error. Just the scripts load now faster which causes vml.js load before dom is ready.

Change History (4)

comment:1 Changed 6 years ago by lzboron

It seems that adding dojo/domReady! doesn't solve this problem. Sometimes it still fails. It seems that factory function is being executed without waiting for domReady!. When I check document.readyState inside factory, it is set to "interactive". Shouldn't executing factory wait for readyState "complete"?

comment:2 Changed 6 years ago by tsemachh

Hi I am facing same issue , after running custom build this error appears , I also tried domReady but it didn't help neither. Any resolution for it ?
Update: The next patch to:'dojox/gfx/renderer' fixes that issue:

if(renderer == "svg" && typeof window.svgweb != "undefined"){

window.svgweb.addOnLoad(loadRenderer);

}else if (renderer == "vml"){

setTimeout(loadRenderer,0);'

}else{

loadRenderer();

}

All other attempts such as skipIEDomLoaded , dojoReady for vml load etc. failed.

tsemach.

Last edited 6 years ago by tsemachh (previous) (diff)

comment:3 Changed 3 years ago by dylan

Milestone: tbd1.12
Owner: changed from Eugene Lazutkin to dylan
Status: newassigned

comment:4 Changed 2 years ago by dylan

Milestone: 1.131.15

Ticket planning... move current 1.13 tickets out to 1.15 to make it easier to move tickets into the 1.13 milestone.

Note: See TracTickets for help on using tickets.