« MediaWiki:Common.js » : différence entre les versions
Apparence
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| Ligne 1 : | Ligne 1 : | ||
function fallbackCopyText(text) { | |||
const textarea = document.createElement("textarea"); | |||
textarea.value = text; | |||
textarea.setAttribute("readonly", ""); | |||
textarea.style.position = "absolute"; | |||
textarea.style.left = "-9999px"; | |||
document.body.appendChild(textarea); | |||
textarea.select(); | |||
try { | |||
document.execCommand("copy"); | |||
} catch (err) { | |||
console.error("Échec de la copie fallback :", err); | |||
} | |||
document.body.removeChild(textarea); | |||
} | |||
document.addEventListener('DOMContentLoaded', function () { | document.addEventListener('DOMContentLoaded', function () { | ||
document.querySelectorAll('.copy-button').forEach(button => { | |||
button.addEventListener('click', function () { | |||
button.addEventListener('click', () | const targetId = this.getAttribute('data-copy-target'); | ||
const targetId = | |||
const target = document.getElementById(targetId); | const target = document.getElementById(targetId); | ||
if (target) | if (!target) return; | ||
const text = target.innerText || target.textContent; | |||
// Essayons clipboard.writeText d'abord | |||
if (navigator.clipboard && window.isSecureContext) { | |||
navigator.clipboard.writeText(text).then(() => { | navigator.clipboard.writeText(text).then(() => { | ||
this.textContent = '✅ Copié'; | |||
setTimeout(() => | setTimeout(() => this.textContent = '📋 Copier', 2000); | ||
}).catch(() => { | |||
fallbackCopyText(text); | |||
}).catch( | this.textContent = '📎 Copié'; | ||
setTimeout(() => this.textContent = '📋 Copier', 2000); | |||
}); | }); | ||
} else { | |||
fallbackCopyText(text); | |||
this.textContent = '📎 Copié'; | |||
setTimeout(() => this.textContent = '📋 Copier', 2000); | |||
} | } | ||
}); | }); | ||
}); | }); | ||
}); | }); | ||
Version du 26 août 2025 à 15:44
function fallbackCopyText(text) {
const textarea = document.createElement("textarea");
textarea.value = text;
textarea.setAttribute("readonly", "");
textarea.style.position = "absolute";
textarea.style.left = "-9999px";
document.body.appendChild(textarea);
textarea.select();
try {
document.execCommand("copy");
} catch (err) {
console.error("Échec de la copie fallback :", err);
}
document.body.removeChild(textarea);
}
document.addEventListener('DOMContentLoaded', function () {
document.querySelectorAll('.copy-button').forEach(button => {
button.addEventListener('click', function () {
const targetId = this.getAttribute('data-copy-target');
const target = document.getElementById(targetId);
if (!target) return;
const text = target.innerText || target.textContent;
// Essayons clipboard.writeText d'abord
if (navigator.clipboard && window.isSecureContext) {
navigator.clipboard.writeText(text).then(() => {
this.textContent = '✅ Copié';
setTimeout(() => this.textContent = '📋 Copier', 2000);
}).catch(() => {
fallbackCopyText(text);
this.textContent = '📎 Copié';
setTimeout(() => this.textContent = '📋 Copier', 2000);
});
} else {
fallbackCopyText(text);
this.textContent = '📎 Copié';
setTimeout(() => this.textContent = '📋 Copier', 2000);
}
});
});
});