На веб-сайте я разрабатываю пользовательский поиск отелей в городе, и результаты возвращаются в формате xml, а затем форматируются с помощью ajax / javascript / jquery.
Результаты отображаются почти сразу в Chrome или FF, но в Internet Explorer (я пробовал ie6 и ie9) результаты отображаются почти минуту.
Запуск инструментов разработчика в IE утверждает, что 99% времени выполнения тратится на функцию "getElementsByTagName", которая вызывается почти 200 000 раз, однако я не знаю, как это исправить, если это проблема.
Страница, о которой идет речь, beta.hotelsweep.com , а функция, вызываемая при поиске:
//summarized version of the function
$.get(url, function (xmlResponse) {
$('#results').empty();
var exception = $("Exception", xmlResponse);
if (exception.size() > 0) {
var error = "<h2>We were unable to complete your request</h2>";
$('#results').html(error);
} else {
$('#numResults').html($("resultsNumber", xmlResponse).text() + " hotels found <br>");
var resultsHtml = "<div id='results_list'>";
//set googlem map to center
map.setCenter(new GLatLng($("avgLat", xmlResponse).text(), $("avgLong", xmlResponse).text()), 9);
// Loop through response, creating <li> for each hotel
$("Hotel", xmlResponse).each(function () {
var bookLink = $('affiliateLink', this).text();
var address = $('fulladdress', this).text();
var stars = $('stars', this).text();
resultsHtml += 'Hotel Stars: ' + stars;
});
//put html into results div
$('#results').html(resultsHtml);
}
});