Maison > interface Web > js tutoriel > Comment puis-je détecter les clics dans les Iframes inter-domaines à l'aide de JavaScript ?

Comment puis-je détecter les clics dans les Iframes inter-domaines à l'aide de JavaScript ?

Barbara Streisand
Libérer: 2024-12-08 06:33:13
original
212 Les gens l'ont consulté

How Can I Detect Clicks Inside Cross-Domain Iframes Using JavaScript?

Détection des clics dans les iframes à l'aide de JavaScript

Si vous cherchez un moyen de déterminer si un utilisateur a cliqué dans une iframe, vous est peut-être tombé sur la limitation selon laquelle les iframes inter-domaines ne peuvent pas être surveillées directement en JavaScript. Néanmoins, il existe une technique astucieuse qui peut vous aider à atteindre votre objectif.

La solution réside dans la superposition d'un div invisible sur l'iframe. Lorsqu'un clic se produit dans l'iframe, il déclenchera également l'événement de clic pour le div superposé. En écoutant cet événement, vous pouvez détecter indirectement un clic au sein de l'iframe.

Voici un exemple de code pour illustrer cette approche :

const message = document.getElementById("message");

// Ensure the main document has focus to register the blur event.
window.focus();

window.addEventListener("blur", () => {
  setTimeout(() => {
    if (document.activeElement.tagName === "IFRAME") {
      message.textContent = "clicked " + Date.now();
      console.log("clicked");
    }
  });
}, { once: true });
Copier après la connexion
<div>
Copier après la connexion

Dans cet exemple, le message div est utilisé pour afficher "cliqué" avec l'horodatage lorsqu'un clic se produit dans l'iframe. Notez que cette approche fonctionne efficacement dans Chrome, Firefox et IE 11 (et probablement aussi dans d'autres navigateurs). Il fournit une solution simple pour surveiller les interactions des utilisateurs au sein des iframes inter-domaines, en particulier lorsque vous n'avez aucun contrôle sur les balises iframe utilisées.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal