Atenção! A especificação XMLHttpRequest2 foi alterada recentemente para proibir o envio de uma solicitação síncrona quando
XMLHttpRequest.responseType
está definido. A ideia por trás da mudança é ajudar
a reduzir o uso de XHRs síncronos sempre que possível.
Por exemplo, o código a seguir agora vai gerar uma INVALID_ACCESS_ERR
em
builds do canal de desenvolvedor do Chrome e do FF:
var xhr = new XMLHttpRequest();
xhr.responseType = 'arraybuffer';
xhr.open('GET', '/', false); // sync request
xhr.send();
Consulte Bug do WebKit e Bug do Mozilla.
XHRs síncronos são ruins por vários motivos, mas a postagem do blog da MSDN, "Por que você deve usar XMLHttpRequest de forma assíncrona", tem uma ótima explicação dos problemas.
Essa é uma mudança geralmente ótima para a Web, mas pode interromper alguns apps que dependiam do comportamento síncrono. Analise seu código XHR e atualize-o o mais rápido possível para usar solicitações assíncronas.