Я искал высоко и низко в Интернете для ответа на этот вопрос, и я думаю, что есть что-то, чего я не вижу. Я читаю в галерее фотографий из XML-документа через jquery $ .ajax(), и у меня возникают проблемы с IE7. Функция, которую я использую, отлично работает во всех других браузерах, которые я тестировал.
Я прочитал тон на настройке правильного типа данныхType и contentType для IE, но я начинаю сомневаться в том, является ли это проблемой. Я пробовал тонну комбинаций разных типов данных и типов контента, и ни один из них, похоже, не делает этого. Мне интересно, может ли быть проблема с моим xml или с тем, как моя функция читает xml, потому что, когда функция задана так, как она есть сейчас, все проходит в IE7, но ни одно из изображений не добавляется в DOM ,
var dataType;
if ($.browser.msie) { dataType = 'text' } else { dataType = 'html' };
$.ajax({
type: 'GET',
url: 'images/gallery-images/gallery-images.xml',
dataType: dataType,
success: function(parseXML){
$(parseXML).find('section').each(function(){
var $section = $(this),
photos = $section.find('photo'),
photoContainer = $('<div></div>', { id : $section.attr('id'), 'class' : 'gallery-section' });
photos.each(function(){
var photo = $(this),
imageurl = photo.attr('imageurl'),
title = photo.find('title').text(),
description = photo.find('description').html(),
kind = photo.find('description').attr('type');
icon = photo.find('icon').attr('source');
iconClass = photo.find('icon').attr('class');
var photoWrapper = $('<div class="photo"></div>'),
imageElem = $('<img />', { 'src' : imageurl, 'class' : 'gallery-photo' }),
photoInfo = $('<div></div>', { 'class' : 'photo-info ' + kind }),
iconInsert = $('<img />', { 'src' : icon, 'class' : iconClass }),
header = $('<h1></h1>', { text: title }),
photoDescription = $('<div></div>', { html: description });
photoInfo.append(iconInsert).append(header).append(photoDescription);
photoWrapper.append(imageElem).append(photoInfo);
photoContainer.append(photoWrapper);
});
$('#photo-viewer-inner').append(photoContainer);
});
var videos = '<div id="videos"></div>';
$('#photo-viewer-inner').append(videos);
$('#videos').load('images/gallery-images/videos.html #video-inner');
Это код, который я использую для извлечения данных из моего xml. Как я уже сказал, все, включая это и все после этого, похоже, отлично работает в IE7, но изображения никогда не загружаются.
Я в тупике, надеюсь найти здесь помощь.
- это теги изображений в источнике html? – kclair
Пройдите свою собственную отладку. Используйте консоль сценария, или если вы не можете этого сделать, 'alert()' интересные вещи, чтобы увидеть, что на самом деле делает код. В первую очередь, перехватывание исключений в вызове ajax может дать вам интересные идеи. – tdammers
его работы прямо в других браузерах? IE7 отстой. Я не знаю, поможет ли вам это, но один год около года назад мой аякс не работал в IE7, потому что вместо сильного я использовал устаревший жирный тег. Не знаю, почему это сломало это, а просто предложение. – Rooster