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 });
<div>
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!