2009-09-30 13 views
2

Je souhaite intercepter les clics se produisant n'importe où dans un iframe. Je ne peux pas accéder directement à l'iframe car il contient du contenu d'un autre domaine. Alors, comment ferais-je cela avec jQuery? Calculer en quelque sorte si le clic s'est produit dans la zone de l'iframe? L'iframe doit rester totalement accessible car il contient des liens, etc.Comment déclencher un événement lorsqu'un clic se produit dans iframe?

Répondre

2

Ceci est impossible en raison du Same origin policy. jQuery ne peut pas contourner magiquement l'environnement du navigateur.

Vous pouvez implémenter un same-domain proxy (exemple en php) qui transmet le code html du site cible à votre iframe. Vous n'avez pas mentionné quelle technologie côté serveur vous utilisez, donc je ne peux pas être plus précis.

+0

Mais qu'en est-il de suivre le mouvement de la souris et de dire si elle est au-dessus de l'iframe. Vous n'avez pas besoin d'accéder à l'iframe pour cela, n'est-ce pas? – webjunkie

+0

Correct, vous n'avez pas besoin du DOM de l'iframe pour suivre les mouvements de la souris. Cependant, vous dites spécifiquement dans votre question: "iframe devrait rester totalement accessible". Je prends cela pour signifier que vous ne pouvez pas intercepter les événements au-dessus de l'iframe et que vous avez besoin d'eux pour frapper l'iframe. –

Questions connexes