Opened 5 years ago

Closed 4 years ago

#17146 closed defect (fixed)

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

Reported by: pcolella Owned by: Rawld Gill
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 5 years ago.
test case with console.log() and manual call to parser

Download all attachments as: .zip

Change History (12)

Changed 5 years ago by bill

Attachment: 17146.html added

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

comment:1 Changed 5 years ago by bill

Component: DijitLoader
Milestone: tbd1.9.1
Owner: changed from bill to Rawld Gill
Summary: Form Widgets not working in IE9[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 5 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 5 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: [regression] loader not working on CDN (IE9)[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 Rawld Gill

Status: newassigned

comment:8 Changed 4 years ago by Colin Snover

Priority: undecidedblocker

comment:9 Changed 4 years ago by Rawld Gill

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 Rawld Gill

Resolution: fixed
Status: assignedclosed

This was caused by #17141.

Note: See TracTickets for help on using tickets.