Author: ibaker
Description:
IE7 generates "access is denied" errors when attempting to load a URL of the form "//commons.wikimedia.org/w/api.php?foo" using xhr.open within jQuery. This means two things:
- The AJAX call never returns useful information, so the features dependent on it break.
- JS-heavy pages break when JS execution stops on the error. Currently, this is preventing UploadWizard from working in IE7 on live commons. It does work IE6 and IE8 (even in IE7 compatibility mode).
You can see the error by visiting http://commons.wikimedia.org/wiki/Main_Page?debug=true with IE7 while not logged in. You can also try visiting UploadWizard while logged in, but some confluence of IE bugs prevents the errors from appearing there when debugging with MS Script Debugger is enabled.
If you need to see the problem in UW specifically, I can provide the convoluted recipe for making the debugger work there too, but most likely fixing the errors on Main_Page will fix it as well.
What seems to happen, AFAICT, is that scripts are included from MediaWiki:Common.js using importScript(). This appends a new <script> tag to the page, but because of how .append() is implemented in jQuery, also triggers loading and executing of the script via AJAX. This is the point where it breaks in IE7, although other browsers don't have a problem.
It's possible that the loading of many JS assets from bits.wikimedia.org is part of the problem, since the AJAX requests then break the same-origin policy. However, it works fine in Chrome and Firefox (and, oddly, IE6).
Version: unspecified
Severity: normal