У меня есть небольшая часть кода для ajax-страницы внутри элемента и скрытия определенных элементов от динамически загружаемой страницы.Кажется, что .load не будет работать с моим изменением путей к изображениям, поэтому я решил использовать вместо него .ajax.
Используя следующий код, я добился успеха с Chrome, FF8 и IE9, но не с IE7 или IE8.Верхняя часть ajaxed-страницы не загружается в IE7 и IE8, но в IE9, Chrome и FF8 вся страница загружается нормально.
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
url: '/example/file.htm',
dataType: 'html',
cache: false,
success: function(data) {
$('.right-column-body-text #experts_area').append(
data.replace(/<img([^>]*)\ssrc=['"](?:[^'"\/]*\/)*([^'"]+)['"]/gi, "<img$1 src='../path/images/$2'")
);
}
});
});
$(window).load(function(){
setTimeout(function(){
$('.right-column-body-text #loading').fadeOut(500);
$('.right-column-body-text #experts_area').fadeIn(1000);
},500);
});
</script>
Я попытался добавить журнал ошибоки ничего не показывало.Пожалуйста, дайте мне знать, если есть синтаксическая проблема.
Изменить ниже, чтобы включить HTML
Вот часть HTML, специфичная дляобласть для ajax в -
<div class="right-column-body">
<div class="right-column-body-text" id="right-column-body-text">
<div id="loading"><img alt="loading" src="/coating/images/loading.gif" /></div>
<div id="experts_area"> <!-- ajax here --> </div>
</div>
<div class="right-column-body-right-hand" id="right-column-body-right-hand">
</div>
</div>
Теперь, если я понимаю функцию ajax, она должна загрузить всю страницу в этот контейнер div, включая верхнюю часть страницы.Когда я нажимаю клавишу F12 и просматриваю HTML в IE7 или IE8, я смотрю в раздел experts_area, и первая часть текста, которая появляется, находится на полпути вниз от страницы с ajaxed, в совершенно случайном месте (но продолжается до концаHTML).Когда я смотрю ту же самую вещь в IE9 или другом браузере, она включает заголовок и страницу целиком.Это при просмотре HTML, поэтому я не верю, что это просто проблема отображения.