Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengambil Data Papan Klip dengan Amanah pada Tampal Merentasi Pelayar Berbeza?

Bagaimanakah Saya Boleh Mengambil Data Papan Klip dengan Amanah pada Tampal Merentasi Pelayar Berbeza?

Barbara Streisand
Barbara Streisandasal
2024-12-11 20:25:11397semak imbas

How Can I Reliably Retrieve Clipboard Data on Paste Across Different Browsers?

Kaedah Penyemak Imbas Silang untuk Mendapatkan Data Papan Klip pada Acara Tampal

Masalah

Merakam acara tampal dan mengakses data yang akan ditampal terbukti mencabar pelayar. Matlamatnya adalah untuk mengalih keluar teg HTML secara awal daripada teks yang ditampal masuk sambil mengekalkan pemformatan sedia ada dalam editor teks kaya.

Penyelesaian

Penyelesaian #1 (Teks Biasa Sahaja, Firefox 22 ):

Kaedah ini berfungsi dalam IE6 , Firefox 22 , Chrome, Safari dan Edge (diuji dalam IE9). Ia cemerlang dalam menangkap teks biasa tetapi tidak mempunyai sokongan untuk penampalan HTML atau versi Firefox lebih awal daripada 22.

function handlePaste(e) {
  // Prevent data from being pasted directly into the div
  e.stopPropagation();
  e.preventDefault();

  // Access the clipboard data through the API
  let clipboardData = e.clipboardData || window.clipboardData;

  // Extract the pasted text
  let pastedData = clipboardData.getData('Text');

  // Process the pasted data as desired
  alert(pastedData);
}

// Register the paste event listener on the editable div
document.getElementById('editableDiv').addEventListener('paste', handlePaste);
<div>

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengambil Data Papan Klip dengan Amanah pada Tampal Merentasi Pelayar Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn