ホームページ >ウェブフロントエンド >jsチュートリアル >ブラウザネイティブのオブジェクトのみを使用して、Web サイトから強調表示されたテキストを取得するにはどうすればよいですか?

ブラウザネイティブのオブジェクトのみを使用して、Web サイトから強調表示されたテキストを取得するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-15 20:05:18946ブラウズ

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

強調表示されたテキストの取得

Web サイトの段落から強調表示されたテキストを取得することは、jQuery などの追加ライブラリを使用せずに実行できる簡単なタスクです。

ブラウザネイティブの使用オブジェクト

次のコード スニペットは、ブラウザネイティブ オブジェクトを使用して強調表示されたテキストを取得する方法を示しています。

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;
}

拡張実装

テキスト領域やテキスト入力フィールドなどの他のフォーム要素でのテキスト選択を処理するには、拡張された実装が考えられます。使用:

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;
}

リアルタイム更新

選択したテキストをリアルタイムで表示するには、onmouseup、onkeyup、および onkeyup などのドキュメント イベントにイベント リスナーを追加できます。選択変更時。更新されたテキストは、テキスト ボックスなどの指定された要素に入力できます。

以上がブラウザネイティブのオブジェクトのみを使用して、Web サイトから強調表示されたテキストを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。