Opened 4 years ago

Closed 4 years ago

#17146 closed defect (fixed)

[regression] loader hangs trying to load templates (IE9)

Reported by: pcolella Owned by: rcgill
Priority: blocker Milestone: 1.9.1
Component: Loader Version: 1.9.0
Keywords: Cc:
Blocked by: Blocking:

Description (last modified by bill)

Have been unsuccessful getting form widgets working in Internet Explorer 9. This simple html does not work:

<!DOCTYPE html>
<html >
<head>

<style type="text/css">
    @import "https://ajax.googleapis.com/ajax/libs/dojo/1.9.0/dijit/themes/claro/claro.css";
    @import "https://ajax.googleapis.com/ajax/libs/dojo/1.9.0/dojo/resources/dojo.css";
</style>
        
<script>dojoConfig = {async: true, parseOnLoad: true}</script>
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.9.0/dojo/dojo.js"></script>
<script>
require(["dojo/parser", "dijit/form/ValidationTextBox"]);
</script>
</head>
<body class="claro">
    <label for="zip">Also 5-Digit U.S. Zipcode only:</label>
<input type="text" name="zip" value="00000" required="true"
    data-dojo-type="dijit/form/ValidationTextBox"
    data-dojo-props="regExp:'\\d{5}', invalidMessage:'Invalid zip code.'" />
</body>
</html>

Works fine in Chrome and Firefox.

Attachments (1)

17146.html (976 bytes) - added by bill 4 years ago.
test case with console.log() and manual call to parser

Download all attachments as: .zip

Change History (12)

Changed 4 years ago by bill

test case with console.log() and manual call to parser

comment:1 Changed 4 years ago by bill

  • Component changed from Dijit to Loader
  • Milestone changed from tbd to 1.9.1
  • Owner changed from bill to rcgill
  • Summary changed from Form Widgets not working in IE9 to [regression] loader not working on CDN (IE9)

The require() call itself is never returning (on IE9). I attached a clearer test case with console.log() messages to show this. I don't see anything wrong with the test case, so seems like a loader problem, or perhaps something messed up on google's side. Assigning to Rawld for now.

It works against 1.8.3, so marking as a regression.

comment:2 Changed 4 years ago by jeffreym

I'm seeing this bug too - it appears that on IE9, built dojo is trying to load templates from their original .html files instead of the cached copy in the .js. This fails on CDN due to the same-origin policy.

As a temporary workaround, I found that using the paths option in dojoConfig to redirect template directories to a source copy on the same domain allows the modules using them to load.

comment:3 Changed 4 years ago by mictay

I'm all local, not using CDN, and I'm experiencing the same issue. Only IE9 looks to the templates/*.html files such as the dijit/Dialog. My quick workaround was to paste the dijit/templates folder from the src distribution.

comment:4 Changed 4 years ago by bill

  • Description modified (diff)
  • Summary changed from [regression] loader not working on CDN (IE9) to [regression] loader hangs trying to load templates (IE9)

OK right, so the hang is a side effect of the problem listed in #17141. It happens on both CDN and on the build on download.dojotoolkit.org because both of them removed the template files.

comment:5 Changed 4 years ago by bill

#17180 is a duplicate of this ticket.

comment:6 Changed 4 years ago by bill

comment:7 Changed 4 years ago by rcgill

  • Status changed from new to assigned

comment:8 Changed 4 years ago by csnover

  • Priority changed from undecided to blocker

comment:9 Changed 4 years ago by rcgill

I've just added a pull request. I had some trouble duplicating on my machine...it would be great if interested folks could try the fix. See https://github.com/dojo/util/pull/2

comment:10 Changed 4 years ago by bill

I confirmed the fix worked (and wrote that comment in the pull request too). So you should push the change to master and also 1.9.

comment:11 Changed 4 years ago by rcgill

  • Resolution set to fixed
  • Status changed from assigned to closed

This was caused by #17141.

Note: See TracTickets for help on using tickets.