Mengesan dan Mendapatkan Semula Data yang Ditampal dalam JavaScript (Cross-Pelayar)
Aplikasi web selalunya perlu menangkap dan pra-proses data sebelum ia ditampal ke dalam penyunting teks. Ini mungkin melibatkan pengalihan keluar elemen tertentu, seperti teg HTML, sambil mengekalkan pemformatan sedia ada. Walau bagaimanapun, teknik sanitasi pasca tampal tradisional boleh mengganggu pemformatan teks sebelumnya.
Untuk menangani cabaran ini, mari kita terokai penyelesaian yang menggunakan API penyemak imbas moden untuk memintas acara tampal dan mendapatkan semula data yang ditampal:
Penyelesaian #1: Pengekstrakan Teks Biasa (Firefox 22 dan Moden Pelayar)
Untuk penyemak imbas yang menyokong API Pemindahan Data (cth., IE9 , Firefox 22 , Chrome, Safari, Edge), pendekatan berikut membenarkan pengekstrakan terpilih teks biasa daripada data papan keratan:
function handlePaste(e) { var clipboardData, pastedData; // Stop data actually being pasted into div e.stopPropagation(); e.preventDefault(); // Get pasted data via clipboard API clipboardData = e.clipboardData || window.clipboardData; pastedData = clipboardData.getData('Text'); // Do whatever with pasteddata alert(pastedData); } document.getElementById('editableDiv').addEventListener('paste', handlePaste);
Penyelesaian ini memanfaatkan kaedah e.clipboardData.getData('Teks') untuk mengekstrak kandungan teks biasa daripada data yang dipindahkan semasa acara tampal.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memintas dan Mengekstrak Teks Biasa daripada Data yang Ditampal dalam JavaScript Merentasi Pelayar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!