Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mendapatkan Teks yang Diserlahkan daripada Tapak Web Hanya Menggunakan Objek Asli Pelayar?

Bagaimanakah Saya Boleh Mendapatkan Teks yang Diserlahkan daripada Tapak Web Hanya Menggunakan Objek Asli Pelayar?

Susan Sarandon
Susan Sarandonasal
2024-12-15 20:05:18946semak imbas

How Can I Get Highlighted Text from a Website Using Only Browser-Native Objects?

Mendapatkan Teks yang Diserlahkan

Mendapatkan semula teks yang diserlahkan daripada perenggan tapak web ialah tugas mudah yang boleh dicapai tanpa perpustakaan tambahan seperti jQuery.

Menggunakan Penyemak Imbas Asli Objek

Coretan kod berikut menunjukkan cara untuk mendapatkan semula teks yang diserlahkan menggunakan objek asli penyemak imbas:

function getSelectionText() {
    let text = "";

    if (window.getSelection) {
        text = window.getSelection().toString();
    } else if (document.selection && document.selection.type != "Control") {
        text = document.selection.createRange().text;
    }

    return text;
}

Pelaksanaan Dipertingkat

Untuk mengendalikan pemilihan teks dalam elemen bentuk lain seperti kawasan teks dan medan input teks, pelaksanaan yang dipertingkatkan boleh dilakukan digunakan:

function getSelectionText() {
    let text = "";
    const activeElement = document.activeElement;

    if (
        (activeElement.tagName.toLowerCase() === "textarea") ||
        (activeElement.tagName.toLowerCase() === "input" && /^(?:text|search|password|tel|url)$/i.test(activeElement.type)) &&
        (typeof activeElement.selectionStart === "number")
    ) {
        text = activeElement.value.slice(activeElement.selectionStart, activeElement.selectionEnd);
    } else if (window.getSelection) {
        text = window.getSelection().toString();
    }

    return text;
}

Kemas Kini Masa Nyata

Untuk memaparkan teks yang dipilih dalam masa nyata, pendengar acara boleh ditambahkan pada mendokumentasikan acara seperti onmouseup, onkeyup dan onselectionchange. Teks yang dikemas kini kemudiannya boleh diisikan ke dalam elemen yang ditetapkan, seperti kotak teks.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Teks yang Diserlahkan daripada Tapak Web Hanya Menggunakan Objek Asli Pelayar?. 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