fix: copy token pake execCommand() biar jalan di HTTP

This commit is contained in:
Bro
2026-07-24 19:53:41 +07:00
parent e7639e5edf
commit 9aa79dacbb
+16 -9
View File
@@ -174,17 +174,24 @@
const el = document.getElementById('ejurnalTokenDisplay'); const el = document.getElementById('ejurnalTokenDisplay');
const btn = document.getElementById('copyTokenBtn'); const btn = document.getElementById('copyTokenBtn');
if (!el || !btn) return; if (!el || !btn) return;
navigator.clipboard.writeText(el.textContent.trim()).then(() => {
// Select the text
const range = document.createRange();
range.selectNodeContents(el);
const sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
// Copy using execCommand (works on HTTP too)
try {
document.execCommand('copy');
sel.removeAllRanges();
btn.innerHTML = '<i class="fa-regular fa-check"></i> Tersalin'; btn.innerHTML = '<i class="fa-regular fa-check"></i> Tersalin';
setTimeout(() => { btn.innerHTML = '<i class="fa-regular fa-copy"></i> Salin'; }, 2000); setTimeout(() => { btn.innerHTML = '<i class="fa-regular fa-copy"></i> Salin'; }, 2000);
}).catch(() => { } catch (err) {
// Fallback: select text manually // Fallback: show manual instruction
const range = document.createRange(); alert('Tekan Ctrl+C (Cmd+C di Mac) untuk menyalin token.');
range.selectNodeContents(el); }
const sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
});
} }
function copyKesiswaanToken() { function copyKesiswaanToken() {