I sent an email a copule of weeks ago about an issue parsing XML withg
Mootools on IE browsers, something that jQuery does fine, as you can see on
the next example.Notice the ajax request is done in Mootools, even when the
xml is parsed by jQuery.
On this project I have both Mootools and jQuery, so I'm fine, but what if I
had only Mootools?
this.request = new Request({
method: 'get',
url: this.gallery.photosFeed + '&' + Hash.toQueryString({start:
0, end: 10}),
onSuccess: function(text, xml) {
if (!$defined(xml)) {
console.warn('Gallery XML is empty.')
return;
}
// *** MOOTOOLS CODE FAILS ON IE BROWSERS ***
// xml.getElements('document').each(function(photo, index) {
// var pic = {
// docId:
photo.getElement('fileentryid').get('text'),
// userId:
photo.getElement('userid').get('text'),
// title: photo.getElement('title').get('text'),
// ownerName:
photo.getElement('userfullname').get('text'),
// rating:
photo.getElement('rating').get('text').toFloat(),
// created: new
Date(photo.getElement('createdate').get('text') * 1000),
// images: {}
// }
// photo.getElements('image').each(function(image) {
// pic.images[image.get('label')] =
image.getElement('url').get('text')
// });
// var photoThumb = new PhotoThumb({data: pic});
// this.gallery.photos.push(photoThumb);
// this.photosList.grab(photoThumb.element);
// }.bind(this));
jQuery(xml).find('document').each(function(index, photo) {
photo = jQuery(photo);
var pic = {
docId: photo.find('fileentryid').text(),
userId: photo.find('userid').text(),
title: photo.find('title').text(),
ownerName: photo.find('userfullname').text(),
rating: photo.find('rating').text().toFloat(),
created: new Date(photo.find('createdate').text()
* 1000),
images: {}
}
var images = photo.find('image');
images.each(function() {
var image = jQuery(this);
pic.images[image.attr('label')] =
image.find('url').text();
});
// This code does not change from avobe
var photoThumb = new PhotoThumb({data: pic});
this.gallery.photos.push(photoThumb);
this.photosList.grab(photoThumb.element);
}.bind(this));
}.bind(this),
onFailure: function() {
console.warn('Gallery feed could not be loaded.');
}
});
this.request.send();