Turns out that Internet Explorer calls getURL() asynchronously. This means if you try to call multiple getURLs in rapid succession, it’s possible that only one of them will be executed.
There are a few possible solutions:
- Sometimes it’s possible to get around the problem by re-ordering the getURLs (though I have no explanation for that one).
- Use Sean Rooney’s custom GetURLQueue class technique.
- String the calls together into one js getURL call, like this:
I found that the third option addressed the issue nicely and was the easiest to implement for our purposes.