Maison >interface Web >js tutoriel >Comment puis-je récupérer de manière fiable les données du Presse-papiers en les collant dans différents navigateurs ?

Comment puis-je récupérer de manière fiable les données du Presse-papiers en les collant dans différents navigateurs ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-11 20:25:11397parcourir

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

Méthode multi-navigateurs pour récupérer les données du presse-papiers lors d'un événement de collage

Problème

La capture de l'événement de collage et l'accès aux données à coller s'avèrent difficiles à travers navigateurs. L'objectif est de supprimer de manière préventive les balises HTML du texte collé entrant tout en préservant le formatage existant dans l'éditeur de texte enrichi.

Solution

Solution n°1 (texte brut uniquement, Firefox 22) :

Cette méthode fonctionne dans IE6 , Firefox 22 , Chrome, Safari et Edge (testée dans IE9 ). Il excelle dans la capture de texte brut mais ne prend pas en charge le collage HTML ou les versions de Firefox antérieures à 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>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn