API Clipboard Asynchronous menawarkan peningkatan yang signifikan ke atas kaedah document.execCommand()
yang ketinggalan zaman untuk mengakses papan klip sistem operasi di JavaScript. Walaupun document.execCommand()
mengalami masalah prestasi, sokongan pelayar yang tidak konsisten, dan ketidakkonsistenan kebenaran, API Clipboard menyediakan alternatif yang lebih cekap dan mantap. Walaupun tidak semua ciri disokong secara universal di semua pelayar, kemudahan penggunaan dan keselamatan yang lebih baik menjadikannya kaedah pilihan.
Kelebihan utama API clipboard:
document.execCommand()
Mengapa mengakses papan klip?
Banyak aplikasi mendapat manfaat daripada akses papan klip programatik. Walaupun pemaju sudah biasa dengan pintasan papan kekunci (Ctrl/Cmd C, X, V), banyak pengguna tidak. Menyediakan kawalan visual/salinan/tampal meningkatkan kebolehcapaian. Tambahan pula, tindakan papan klip seperti pelarasan pemformatan dipermudahkan.
Pertimbangan Keselamatan:
Akses papan klip programatik membentangkan risiko keselamatan. Untuk mengurangkan ini:
clipboard-read
clipboard-write
<iframe src="childpage.html" allow="clipboard-read; clipboard-write"></iframe>
Pengesanan ciri:
periksa ketersediaan API menggunakan:
Salinan teks dan tampal:
if (navigator.clipboard) { console.log('Clipboard API available'); }
Operasi teks teras adalah mudah:
Pengendalian ralat dan pengesanan sokongan memerlukan kod tambahan. (Lihat Contoh Kod di GitHub).
salinan data dan tampal:
di luar teks, kaedah read()
dan write()
mengendalikan pelbagai jenis data, seperti imej. Penyalinan melibatkan menggunakan data ClipboardItem
dengan blob
(selalunya dari fetch()
atau canvas.toBlob()
):
<iframe src="childpage.html" allow="clipboard-read; clipboard-write"></iframe>
Pasting lebih kompleks, memerlukan lelaran melalui objek ClipboardItem
untuk mencari format yang dikehendaki. (Lihat Contoh Kod di GitHub).
CUT, Salin, dan Tampal Acara:
cut
, copy
, dan paste
peristiwa mencetuskan pada tindakan papan klip pengguna. Pengendali acara boleh memintas ini, mengubahsuai data menggunakan objek clipboardData
. Contohnya, untuk huruf besar yang disalin teks:
if (navigator.clipboard) { console.log('Clipboard API available'); }
(lihat Contoh Kod pada GitHub untuk Pengendali Acara Paste).
Kesimpulan:
API Clipboard adalah penyelesaian yang moden dan mantap untuk interaksi papan klip dalam JavaScript. Walaupun baru, sokongan luas dan keselamatan yang lebih baik menjadikannya pendekatan yang disyorkan, yang terbaik dilaksanakan sebagai peningkatan progresif. Contoh kod yang disediakan menawarkan titik permulaan yang kukuh.
Soalan Lazim (Soalan Lazim):
navigator.clipboard
writeText()
, readText()
. write()
read()
Atas ialah kandungan terperinci Potong, salin dan tampal di JavaScript dengan API Clipboard. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!