Я создал сайт Drupal, который использует Openlayers для отображения карт.На одной из этих карт есть несколько «фильтров», которые пользователь может использовать для динамического изменения данных, отображаемых на карте.Данные, относящиеся к странам, отображаются в виде пузырьков над странами.Пузырьки нарисованы с использованием API Openlayers.Большое количество вычислений идет за сценой, пока выбираются фильтры.Я использовал setTimeout, чтобы избежать длительных циклов.Фильтры работают нормально.Однако после нажатия нескольких фильтров (например, если щелкнуть 12 фильтров), если пользователь пытается перейти на другую страницу, щелкнув ссылку, в IE7 и IE8 появляется следующая ошибка:
«Прекращение работы».этот скрипт?
Сценарий на этой странице вызывает медленную работу вашего веб-браузера. Если он продолжит работать, ваш компьютер может перестать отвечать. "
Эта ошибка не отображается ни в одной другойбраузер и не отображается в IE7, 8, пока ссылка не нажата.Любой указатель в этом отношении будет высоко оценен.
ОБНОВЛЕНИЕ : Проблема была в кеше событий OpenLayers.OpenLayers очищает кэш событий в событии разгрузки окна, и это зависало в IE7 и IE8 (я не уверен почему).До сих пор мне удавалось решить эту проблему, когда пользователь щелкает другую ссылку, вызывая OpenLayers.Event.unloadCache () при щелчке обычных ссылок.