double check if thumbnails loaded (fix for chrome)

This commit is contained in:
Til Schmitter 2026-05-10 01:23:24 +02:00
parent 8a25e9ddea
commit d1e9163b5f
2 changed files with 38 additions and 13 deletions

View file

@ -954,6 +954,9 @@ tr.play td:nth-child(1) a {
background: var(--g-f-bg);
border-color: var(--g-f-b1);
box-shadow: 0 .1em .3em var(--g-sh);
.gselchk {
display: block;
}
}
#ggrid>a.play .thumb,
#ggrid>a.play img {
@ -1018,8 +1021,13 @@ tr.play td:nth-child(1) a {
text-shadow: none;
font-family: monospace;
}
.sel .gselchk,
.imgcontainer:hover .gselchk {
#ggrid>a.thumbed {
.thumb,
.th_ext {
display: none;
}
}
.sel .gselchk {
display: block;
}
.srch_hdr .gselchk {

View file

@ -6206,6 +6206,11 @@ window.thegrid = (function () {
if (treectl)
treectl.textmode(false);
var imgs = QSA('#ggrid>a img');
for (var a = 0, aa = imgs.length; a < aa; a++) {
set_loaded(imgs[a], r.thumbs && imgs[a].complete, true);
}
setTimeout(aligngriditems, 1);
restore_scroll();
};
@ -6510,9 +6515,7 @@ window.thegrid = (function () {
var imgs = QSA('#ggrid>a img');
for (var a = 0, aa = imgs.length; a < aa; a++) {
if(imgs[a].complete){
set_loaded(imgs[a].parentElement.parentElement);
}
set_loaded(imgs[a], r.thumbs && imgs[a].complete, true);
}
var chks = QSA('.gselchk');
@ -6698,28 +6701,42 @@ window.thegrid = (function () {
})();
function th_onload(el) {
set_loaded(el.parentElement.parentElement)
set_loaded(el, true, false)
el.style.position = 'static'
el.style.opacity = '1'
el.style.height = ''
el.previousSibling.style.display =
el.previousSibling.previousSibling.style.display =
'none'
}
function set_loaded(el) {
clmod(el, 'thumbed', true)
var a = el.getAttribute('ref')
function set_loaded(el, state, dblcheck) {
if(state && dblcheck) {
testImage(el)
}
var p = el.parentElement.parentElement
clmod(p, 'thumbed', state)
var a = p.getAttribute('ref')
if(a){
var b = ebi(a)
if(b){
var c = b.closest('tr')
if(c)
clmod(c, 'thumbed', true)
clmod(c, 'thumbed', state)
}
}
}
function testImage(el) {
var URL = el.src
var tester=new Image();
tester.onload=
function imageFound() {
set_loaded(el, true, false)
};
tester.onerror=
function imageFound() {
set_loaded(el, false, false)
};
tester.src=URL;
}
function tree_scrollto(e) {
ev(e);