Maison >interface Web >js tutoriel >Comment puis-je détecter les clics dans une Iframe inter-domaines ?

Comment puis-je détecter les clics dans une Iframe inter-domaines ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-01 17:24:11520parcourir

How Can I Detect Clicks Inside a Cross-Domain Iframe?

Détection des clics dans une Iframe

Traditionnellement, les iframes inter-domaines posent des limites dans la détection des interactions des utilisateurs. Cependant, il est possible de suivre les clics initiaux dans les iframes en utilisant un div invisible positionné sur l'iframe.

Implémentation

Dans les navigateurs Web modernes, le JavaScript suivant peut être utilisé pour surveiller le focus de la fenêtre du navigateur :

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

// Ensure the main document is focused to trigger window blur when the iframe is interacted with.
window.focus();

window.addEventListener("blur", () => {
  setTimeout(() => {
    if (document.activeElement.tagName === "IFRAME") {
      message.textContent = "clicked " + Date.now();
      console.log("clicked");
    }
  });
}, { once: true });

HTML Balisage

Pour terminer la configuration, le balisage HTML suivant ajoute le div invisible et l'iframe :

<div>

Compatibilité

Ce la solution a été vérifiée pour fonctionner dans Chrome, Firefox et IE 11. Elle est probablement également compatible avec des navigateurs supplémentaires.

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