Opened 9 years ago

Closed 4 years ago

#11953 closed defect (patchwelcome)

dojo.io.script.attach lack of async param breaks FF 3.6 concurrent DOM manipulation

Reported by: amv Owned by: dylan
Priority: blocker Milestone: 1.13
Component: IO Version: 1.5
Keywords: Cc: antti@…
Blocked By: Blocking:

Description

Firefox 3.6 implemented the HTML 5 "async" parameter for "script" elements in a way which seems to cause the browser to delay some javascript DOM manipulation during the time a dynamically inserted script tag without an "async" parameter loads.

dojo.io.script.attach (or dojo.io.script.get) does not provide a way to add this parameter to the created script tag. This causes long delays in the UI interaction if JSONP long polling is used.

Real life cases where this has caused long UI delays for me include Facebook Connect data retrieval and Google Maps geocoding while simultaneously using JSONP long polling with dojo.io.script.get.

A fix could automatically add 'async = "async"' to all script created with dojo.io.script.attach. At least this should be a possibility. In any case the parameter must be automatically added when the script is being created with dojo.io.script.get as the documentation already states that all dojo.io.script.get calls are asynchronous. I have tested this fix and it seems to work for me on FF 3.6.12.

Change History (4)

comment:1 Changed 8 years ago by Colin Snover

Priority: highblocker

Bulk update of open ticket priorities.

comment:2 Changed 8 years ago by bill

Owner: changed from James Burke to Bryan Forbes

Bulk change to reassign IO tickets to Bryan, since he is working on new dojo/request module. Some of these tickets should probably be closed as already fixed, invalid, or wontfix.

comment:3 Changed 4 years ago by dylan

Milestone: tbd1.12
Owner: changed from Bryan Forbes to dylan
Status: newassigned

comment:4 Changed 4 years ago by dylan

Resolution: patchwelcome
Status: assignedclosed

Given that no one has shown interest in creating a patch in the past 4+ years, I'm closing this as patchwelcome.

Note: See TracTickets for help on using tickets.