JQuery UI AutoComplete não funciona no IE8 (até a atualização da página)
Pergunta
Estou usando o Autocompleto da UI do JQuery, ele está funcionando absolutamente bem em todos os navegadores, exceto IE8.
Eu tenho feito alguns testes e parece haver um bug estranho. Quando clico em um link que leva à página relevante, há o seguinte erro gerado pelo IE8 quando começo a digitar na caixa de preenchimento automático:
'Objeto não suporta essa propriedade ou método' Este erro aponta para o meu arquivo jQuery de desenvolvimento (1.4.2) na linha 4955, char 5, que é a seguinte linha: retornar new window.xmlhttprequest ();
No entanto, se eu simplesmente recarregar a página, o preenchimento automático funciona.
Eu adicionei um pouco de dados aleatórios para serem chamados com o preenchimento automático, enquanto li que o IE8 armazenam em cache de solicitações de obtiver, mas isso não parece ter resolvido o problema.
Poderia haver um problema com o tempo do carregamento de todos os arquivos relevantes, incluindo jQuery? Se sim, como eu consertaria isso? Alguma outra idéias inteligentes?!
Andy
Solução 2
Depois de muitas tentativas e erros, achei a resposta muito simples!
Eu estava chamando a meta tag ...
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
... Após o JavaScript, inclui arquivos. Todos os outros navegadores, exceto o IE8, permitiram isso.
Será uma lição que não esquecerei em breve - muitas horas passadas consertando!
Outras dicas
Parece que você está tentando usar o Ajax-Call de síncrono assíncrono.
Você deve usar uma função de retorno de chamada na qual recupere os dados.
= ou =
Você deve configurar a chamada para ser síncrona:
jQuery.ajax( {async: false} );