JQuery UI автозаполнение не работает в ie8 (до обновления страницы) - PullRequest
2 голосов
/ 13 мая 2010

Я использую jquery ui autocomplete, он работает абсолютно нормально во всех браузерах, кроме ie8.

Я проводил некоторое тестирование, и, похоже, обнаружена странная ошибка. Когда я нажимаю на ссылку, ведущую на соответствующую страницу, ie8 создает следующую ошибку, когда я начинаю вводить текст в поле автозаполнения:

'объект не поддерживает это свойство или метод' эта ошибка указывает на мой файл jquery (1.4.2) для разработки в строке 4955, символ 5, который представляет собой следующую строку: вернуть новое окно. XMLHttpRequest ();

Однако, если я просто перезагрузлю страницу, автозаполнение сработает.

Я добавил случайный бит данных, который будет вызываться при автозаполнении, когда я прочитал, что ie8 кэширует его при получении запросов ajax, но это, похоже, не решило проблему.

Может ли быть проблема с синхронизацией загрузки всех соответствующих файлов, включая jquery? Если так, как бы я это исправить? Любые другие умные идеи?!

Andy

Ответы [ 2 ]

2 голосов
/ 13 мая 2010

После многих проб и ошибок я нашел ответ очень простым!

Я вызывал метатег ...

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

... после включения JavaScript-файлов. Все другие браузеры, кроме IE8, допускают это.

Это будет урок, который я не забуду в ближайшее время - много часов потрачено на исправление!

2 голосов
/ 13 мая 2010

Похоже, что вы пытаетесь использовать асинхронный Ajax-вызов синхронно.

Вы должны использовать функцию обратного вызова, в которой вы получаете данные.

= или =

Вы должны настроить вызов на синхронность:

jQuery.ajax( {async: false} );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...