Hi,
Using asynchronous: false *really* locks up the UI in IE (and some
other browsers). In this case, even though you've told it to show the
image, it's probably not had time to actually do that (browsers
usually queue these things) before the UI locks because of the
synchronous call.
The best answer is probably not to use a synchronous call, but rather
to use an iframe shim or something to make everything on the page
unclickable while the call is in progress. Synchronous calls lock
*everything* UI-related in that IE process, not just your page,
whereas an iframe shim just makes your page unclickable (and provides
an opportunity for you to show things a bit dimmed-out or something).
It's also really easy.
If you can't do that, you may have to change your approach to showing
the image, because what you want to do is give the browser a chance to
process any UI updates before you lock it, which is easily done with a
setTimeout call (directly, or via one of Prototype's useful wrappers
like Function#defer and Function#delay; Function#defer is just
Function#delay with a 0.1 delay time). But you can't do that from
within the onCreate callback. Instead, you'd have to create a function
that you use to launch Ajax requests which shows the image, then
schedules the Ajax call to happen after a brief setTimeout/
Function#defer/Function#delay. Even then, be wary that your new
function triggering the request will return *before* the request is
triggered, because of the setTimeout/defer/delay.
HTH,
--
T.J. Crowder
Independent Software Consultant
tj / crowder software / com
www.crowdersoftware.com