feat(js): 复制链接按钮提供短暂已复制反馈(自动恢复)

This commit is contained in:
萝卜
2026-03-17 17:01:01 +08:00
parent da085a239f
commit ca6d55231d
2 changed files with 48 additions and 0 deletions

View File

@@ -615,6 +615,27 @@
var btns = document.querySelectorAll('[data-action="copy-link"][data-href]');
if(!btns || btns.length === 0){return;}
function markCopied(btn, ok) {
try {
var orig = btn.getAttribute('data-orig-text');
if (!orig) {
orig = String(btn.textContent || '');
btn.setAttribute('data-orig-text', orig);
}
var nextText = ok ? '已复制' : '复制失败';
btn.textContent = nextText;
btn.disabled = true;
setTimeout(function(){
try {
btn.textContent = orig;
btn.disabled = false;
} catch (e) {}
}, 1200);
} catch (e) {}
}
btns.forEach(function(btn){
btn.addEventListener('click', function(){
var href = btn.getAttribute('data-href') || '';
@@ -622,11 +643,14 @@
var abs = absoluteUrl(href);
copyToClipboard(abs).then(function(){
markCopied(btn, true);
if (toastSuccess('已复制' + label + '链接')) {
return;
}
try { window.alert('已复制' + label + '链接'); } catch (e) {}
}).catch(function(){
markCopied(btn, false);
try { window.alert('复制失败,请手动复制' + label + '链接'); } catch (e) {}
});
});