Clipboard API dapat menyalin teks setelah pengunjung mengaktifkan kontrol. Karena akses clipboard sensitif terhadap izin dan konteks, jalankan langsung dari pengendali klik dan laporkan bila tidak tersedia.

copyButton.addEventListener("click", async () => {
  try {
    await navigator.clipboard.writeText(textToCopy);
    status.textContent = "Copied";
  } catch {
    status.textContent = "Could not copy. Select the text and copy it manually.";
  }
});

Buatlah tindakan tersebut dapat dimengerti

  • Gunakan tombol asli dengan label seperti “Salin tautan”.
  • Umumkan hasilnya di wilayah status terdekat ketika pesan tersebut terlewatkan.
  • Biarkan teks asli tetap dapat dipilih sehingga pengunjung memiliki cara lain untuk menyalinnya.

Tangani pembatasan browser

Penulisan clipboard umumnya memerlukan konteks yang aman dan isyarat pengguna. Jangan diam-diam berpura-pura penyalinan berhasil ketika janjinya ditolak.

Uji dengan aktivasi keyboard dan izin clipboard ditolak. Penggantian yang jelas lebih baik daripada tombol yang tampaknya berfungsi tetapi tidak mengubah papan klip.