Skip to content

Commit c665f6d

Browse files
committed
Update searchJumper.user.js
1 parent de9529e commit c665f6d

File tree

1 file changed

+28
-26
lines changed

1 file changed

+28
-26
lines changed

searchJumper.user.js

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1567,6 +1567,28 @@
15671567
}
15681568
}
15691569

1570+
function preloadImage(url, onSuccess) {
1571+
let img = new Image();
1572+
const cleanup = () => {
1573+
img.onload = null;
1574+
img.onerror = null;
1575+
img = null;
1576+
};
1577+
1578+
img.onload = function() {
1579+
if (typeof onSuccess === 'function') {
1580+
onSuccess();
1581+
}
1582+
cleanup();
1583+
};
1584+
1585+
img.onerror = function() {
1586+
cleanup();
1587+
};
1588+
1589+
img.src = url;
1590+
}
1591+
15701592
function isInput(ele) {
15711593
if (ele &&
15721594
((/INPUT|TEXTAREA/i.test(ele.nodeName) &&
@@ -9006,32 +9028,9 @@
90069028
let imgCon = document.createElement("div");
90079029
imgCon.appendChild(img);
90089030
a.appendChild(imgCon);
9009-
img.onload = e => {
9010-
img.style.width = "";
9011-
img.style.height = "";
9012-
img.style.display = "";
9013-
};
9014-
img.onerror = e => {
9015-
img.src = noImgBase64;
9016-
};
9017-
img.style.width = "1px";
9018-
img.style.height = "1px";
9019-
img.style.display = "none";
9031+
img.src = noImgBase64;
90209032
if (iconSrc) {
9021-
if (!/^data:/.test(iconSrc)) {
9022-
img.οnerrοr = e => {
9023-
img.src = noImgBase64;
9024-
img.onerror = null;
9025-
img.style.width = "";
9026-
img.style.height = "";
9027-
img.style.display = "";
9028-
};
9029-
img.dataset.src = iconSrc;
9030-
} else {
9031-
img.dataset.src = iconSrc;
9032-
}
9033-
} else {
9034-
img.dataset.src = noImgBase64;
9033+
img.dataset.src = iconSrc;
90359034
}
90369035
}
90379036
let p = document.createElement("p");
@@ -9062,7 +9061,10 @@
90629061
list.dataset.inited = true;
90639062
[].forEach.call(list.querySelectorAll("div>a>div>img"), img => {
90649063
if (img.dataset.src) {
9065-
img.src = img.dataset.src;
9064+
const imgSrc = img.dataset.src;
9065+
preloadImage(imgSrc, () => {
9066+
img.src = imgSrc;
9067+
});
90669068
delete img.dataset.src;
90679069
}
90689070
});

0 commit comments

Comments
 (0)