微件:getMCBBSAvatar:修订间差异

(直链到头像URL,速度应该会更快 // Edit via Wikiplus)
(// Edit via Wikiplus)
 
(未显示1个用户的3个中间版本)
第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') // 移除标记
         let uid = (el.textContent || '1').split('') // 获取UID
         let src = 'https://www.mcbbs.net/uc_server/avatar.php?uid=' + (el.textContent || '1') + '&size=big'
         while (uid.length < 9) { uid.unshift('0') } // 格式化UID
        el.textContent = '' // 清空内容
         let src = `https://www.mcbbs.net/uc_server/data/avatar/${uid.slice(0, 3).join('')}/${uid.slice(3, 5).join('')}/${uid.slice(5, 7).join('')}/${uid.slice(7, 9).join('')}_avatar_big.jpg`
         let img = document.createElement('img'), retry = 2, retryTime = 1500
         el.innerHTML = `<img src="${src}">` // 写入链接
         img.src = src
        img.onerror = function () {
            retry--
            img.alt = '正在加载头像'
            if (retry > 0) setTimeout(function () { img.src = src }, retryTime)
            else if (retry > -2) setTimeout(function () { img.src = 'https://www.mcbbs.net/uc_server/images/noavatar.svg' }, retryTime)
            else img.alt = '无法加载头像'
        }
         el.appendChild(img) // 写入链接
     }
     }
})()
})
</script></includeonly>
</script></includeonly><noinclude>已弃用,请使用 <code><ucenter-avatar></code>标签代替。</noinclude>

2023年3月17日 (五) 23:24的最新版本

已弃用,请使用 <ucenter-avatar>标签代替。