From e0660307a6fa16a363722bcf06f74bb9f53e1d30 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Benoi=CC=82t=20Pin?= <pin@cri.ensmp.fr> Date: Thu, 10 Jul 2014 13:01:00 +0200 Subject: [PATCH] Ok pour Chrome et Safari. --- skins/photo_lightbox_viewer.js | 35 +++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/skins/photo_lightbox_viewer.js b/skins/photo_lightbox_viewer.js index d659ac1..cf39a0a 100644 --- a/skins/photo_lightbox_viewer.js +++ b/skins/photo_lightbox_viewer.js @@ -14,7 +14,15 @@ var reSelected = /.*selected.*/; Lightbox = function(grid, toolbar, complete) { var self = this; this.grid = grid; - this.lastSlide = this.grid.children[this.grid.children.length-1]; + this.slides = []; + var node, i; + for (i=0 ; i<this.grid.childNodes.length ; i++) { + node = this.grid.childNodes[i]; + if (node.nodeType === 1) { // is element + this.slides.push(node); + } + } + this.lastSlide = this.slides[this.slides.length-1]; this.fetchingDisabled = false; this.complete = complete; console.log('complete:', complete) @@ -321,17 +329,19 @@ Lightbox.prototype.refreshGrid = function() { var url = absolute_url() + '/portfolio_thumbnails_tail?start:int=0&size:int=' + - this.grid.children.length; + this.slides.length; req.open('GET', url, true); req.send(); }; Lightbox.prototype._refreshGrid = function(req) { var doc = req.responseXML.documentElement; - var i; - var slides = this.grid.children; - for (i=0 ; i<doc.children.length ; i++) { - this.grid.replaceChild(getCopyOfNode(doc.children[i]), slides[i]); + var i, node; + for (i=0 ; i<doc.childNodes.length ; i++) { + node = doc.childNodes[i]; + if (node.nodeType === 1) { + this.slides[i] = this.grid.replaceChild(getCopyOfNode(node), this.slides[i]); + } } }; @@ -354,7 +364,7 @@ Lightbox.prototype.fetchTail = function() { var url = absolute_url() + '/portfolio_thumbnails_tail?start:int=' + - String(this.grid.children.length + 1 ) + + String(this.slides.length + 1 ) + '&size:int=10'; req.open('GET', url, true); req.send(); @@ -362,10 +372,13 @@ Lightbox.prototype.fetchTail = function() { Lightbox.prototype._appendTail = function(req) { var doc = req.responseXML.documentElement; - var i; - var slides = this.grid.children; - for (i=0 ; i<doc.children.length ; i++) { - this.lastSlide = this.grid.appendChild(getCopyOfNode(doc.children[i])); + var i, node; + for (i=0 ; i<doc.childNodes.length ; i++) { + node = doc.childNodes[i]; + if (node.nodeType === 1) { + this.lastSlide = this.grid.appendChild(getCopyOfNode(node)); + this.slides.push(this.lastSlide); + } } this.fetchingDisabled = false; if (doc.getAttribute('nomore')) { -- 2.20.1