diff --git a/internal/templates/html/profile.html b/internal/templates/html/profile.html
index 7274a2a..973987e 100644
--- a/internal/templates/html/profile.html
+++ b/internal/templates/html/profile.html
@@ -95,9 +95,11 @@
// Skin
if (data.textures && data.textures.skin) {
- document.getElementById('skinImg').src = '/skins/' + data.textures.skin_hash;
- document.getElementById('skinImg').style.display = 'inline';
- document.getElementById('noSkinMsg').style.display = 'none';
+ const skinImg = document.getElementById('skinImg');
+ const noSkinMsg = document.getElementById('noSkinMsg');
+ skinImg.onerror = function() { this.style.display = 'none'; noSkinMsg.style.display = 'block'; };
+ skinImg.onload = function() { this.style.display = 'inline'; noSkinMsg.style.display = 'none'; };
+ skinImg.src = '/skins/' + data.textures.skin_hash;
} else {
document.getElementById('skinImg').style.display = 'none';
document.getElementById('noSkinMsg').style.display = 'block';
@@ -105,9 +107,11 @@
// Cape
if (data.textures && data.textures.cape) {
- document.getElementById('capeImg').src = '/skins/' + data.textures.cape_hash;
- document.getElementById('capeImg').style.display = 'inline';
- document.getElementById('noCapeMsg').style.display = 'none';
+ const capeImg = document.getElementById('capeImg');
+ const noCapeMsg = document.getElementById('noCapeMsg');
+ capeImg.onerror = function() { this.style.display = 'none'; noCapeMsg.style.display = 'block'; };
+ capeImg.onload = function() { this.style.display = 'inline'; noCapeMsg.style.display = 'none'; };
+ capeImg.src = '/skins/' + data.textures.cape_hash;
} else {
document.getElementById('capeImg').style.display = 'none';
document.getElementById('noCapeMsg').style.display = 'block';