Heim >Web-Frontend >js-Tutorial >Wie kann ich Daten aus der Zwischenablage beim Einfügen in verschiedenen Browsern zuverlässig abrufen?

Wie kann ich Daten aus der Zwischenablage beim Einfügen in verschiedenen Browsern zuverlässig abrufen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-11 20:25:11463Durchsuche

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

Browserübergreifende Methode zum Abrufen von Daten aus der Zwischenablage bei Einfügeereignis

Problem

Das Erfassen des Einfügeereignisses und der Zugriff auf die einzufügenden Daten erweist sich als eine Herausforderung Browser. Das Ziel besteht darin, HTML-Tags präventiv aus eingehendem eingefügtem Text zu entfernen und gleichzeitig die vorhandene Formatierung im Rich-Text-Editor beizubehalten.

Lösung

Lösung Nr. 1 (nur einfacher Text, Firefox 22):

Diese Methode funktioniert in IE6, Firefox 22, Chrome, Safari und Edge (getestet in IE9). Es zeichnet sich durch die Erfassung von reinem Text aus, bietet jedoch keine Unterstützung für das Einfügen von HTML oder für Firefox-Versionen vor 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>

Das obige ist der detaillierte Inhalt vonWie kann ich Daten aus der Zwischenablage beim Einfügen in verschiedenen Browsern zuverlässig abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn