微件:getMCBBSAvatar:修订间差异

添加534字节 、​ 2021年3月25日 (星期四)
新增图片加载失败后的重试与显示默认头像
(// Edit via Wikiplus)
(新增图片加载失败后的重试与显示默认头像)
第1行: 第1行:
<includeonly><script defer>
<includeonly><script>
(() => {
document.addEventListener('readystatechange', function () {
     for (let el of Array.from(document.querySelectorAll('.salt.getmcbbsavatar'))) {
     for (let el of Array.from(document.querySelectorAll('.salt.getmcbbsavatar'))) {
         el.classList.remove('getmcbbsavatar') // 移除标记
         el.classList.remove('getmcbbsavatar') // 移除标记
         el.innerHTML = `<img src="https://www.mcbbs.net/uc_server/avatar.php?uid=${el.textContent || '1'}&size=big">` // 写入链接
         let src = 'https://www.mcbbs.net/uc_server/avatar.php?uid=' + (el.textContent || '1') + '&size=big'
        el.textContent = '' // 清空内容
        let img = document.createElement('img'), retry = 5, retryTime = 1000
        img.src = src
        img.onerror = function () {
            retry--
            if (retry > 0) setTimeout(function () { img.src = src }, retryTime)
            else if (retry > -4) setTimeout(function () { img.src = 'https://www.mcbbs.net/uc_server/images/noavatar.svg' }, retryTime)
            else img.alt = '无法加载头像'
        }
        el.appendChild(img) // 写入链接
     }
     }
})()
})
</script></includeonly>
</script></includeonly>