#17718 closed defect (fixed)
dojo.io.script fails for IE11
Reported by: | blacknugget | Owned by: | dylan |
---|---|---|---|
Priority: | undecided | Milestone: | 1.7.9 |
Component: | IO | Version: | 1.7.5 |
Keywords: | Cc: | ||
Blocked By: | Blocking: |
Description
In releases 1.4.5 - 1.7.5 dojo.io.script will not work with IE11
This is due to a deprecated onreadystatechange
In 1.8 the dojo.io.script uses a refactored dojo.request.script plugin that has a more intelligent has('script-readystatechange') detection instead of just doing a browser check.
Doing "dojo.isIE" checks is probably not going to scale well for the legacy Dojo codebase, as Microsoft decides each iteration that it has to become more W3C compliant with future IE11, etc. releases.
Please patch the broken code
var loadEvent = dojo.isIE ? "onreadystatechange" : "load",
with a proper "has" detection routine instead of an outdated browser check.
Change History (4)
comment:1 Changed 5 years ago by
Milestone: | tbd → 1.7.9 |
---|---|
Owner: | set to dylan |
Status: | new → assigned |
comment:2 Changed 5 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:3 Changed 5 years ago by
This change doesn't make any sense to me. dojo.isIE
is false for IE11, so didn't the old code already work on IE11?
PS: Also, I thought Dojo 1.7 isn't supposed to support IE11 at all.
comment:4 Changed 5 years ago by
It seemed safe to me to backport the current approach to detecting the feature, to make 1.7 more consistent with later versions.
You're right though in that both Dojo 1.7 doesn't officially support IE11, and that dojo.isIE in 1.7 should not return true for IE11.
I've fixed this for 1.7 via https://github.com/dojo/dojo/commit/ec673095ebe9574ff3b963219432435e237805b0
The change for 1.4 through 1.6 is more involved, as there is no dojo/has module available, and probably of limited value given that most users are on 1.7+ now. That said, we would accept a pull request against 1.6 for this change, so if anyone wants to work on that, please re-open the ticket and create a pull request per our contribution guidelines, https://github.com/dojo/dojo/blob/master/CONTRIBUTING.md