fix: copy token pake execCommand() biar jalan di HTTP
This commit is contained in:
@@ -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(() => {
|
|
||||||
btn.innerHTML = '<i class="fa-regular fa-check"></i> Tersalin';
|
// Select the text
|
||||||
setTimeout(() => { btn.innerHTML = '<i class="fa-regular fa-copy"></i> Salin'; }, 2000);
|
|
||||||
}).catch(() => {
|
|
||||||
// Fallback: select text manually
|
|
||||||
const range = document.createRange();
|
const range = document.createRange();
|
||||||
range.selectNodeContents(el);
|
range.selectNodeContents(el);
|
||||||
const sel = window.getSelection();
|
const sel = window.getSelection();
|
||||||
sel.removeAllRanges();
|
sel.removeAllRanges();
|
||||||
sel.addRange(range);
|
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';
|
||||||
|
setTimeout(() => { btn.innerHTML = '<i class="fa-regular fa-copy"></i> Salin'; }, 2000);
|
||||||
|
} catch (err) {
|
||||||
|
// Fallback: show manual instruction
|
||||||
|
alert('Tekan Ctrl+C (Cmd+C di Mac) untuk menyalin token.');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function copyKesiswaanToken() {
|
function copyKesiswaanToken() {
|
||||||
|
|||||||
Reference in New Issue
Block a user