Onclick sur un javascript

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

22 août 2005, 14:45

Bon j'ai testé quelque chose, mais au final ça ne marche pas.
La raison est qu'on ne peut pas accéder au contenu d'une iframe par du javascript si j'en crois la console javascript de Firefox.
Voici mon code au cas où ça servirait à quelqu'un qui aurait une autre idée similaire, ce code aurait du permettre de modifier les liens des google ads (contenu dans une iframe) afin de pouvoir faire un tracking complet:

Code : Tout sélectionner

<html> <head> <script> function recup_iframe() { var iframe=document.getElementsByTagName('iframe'); for( f=0; f<iframe.length; f++) { alert("iFrame trouvée : " + iframe.item(f).src) liens=iframe.item(f).contentDocument.getElementsByTagName('a'); for( i=0; i<liens.length; i++) { alert('Liens : ' + liens.item(i).href) liens.item(i).href="http://www.tondomaine.com?click="+encodeURI(liens.item(i).href); } } } </script> </head> <body> <h3>Test de clic sur pub Google...</h3> <input type="button" onclick="recup_iframe()" value="recup_iframe" > <hr /> <script type="text/javascript"><!-- google_ad_client = "pub-4897086925172314"; google_alternate_ad_url = "http://fl01.ct2.comclick.com/aff_frame.ct2?id_regie=1&num_editeur=7437&num_site=6&num_emplacement=1"; google_ad_width = 468; google_ad_height = 60; google_ad_format = "468x60_as"; google_ad_channel =""; google_ad_type = "text_image"; google_color_border = "2D5893"; google_color_bg = "99AACC"; google_color_link = "000000"; google_color_url = "000099"; google_color_text = "003366"; //--></script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> </body> </html>
A noter que la propriété contentDocument est en DOM2 donc non-supporté par IE mais supporté correctement par Firefox...
Quand tout le reste a échoué, lisez le mode d'emploi...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

22 août 2005, 14:47

Pour information, la propriété onclick ou onmousedown ne fonctionne pas pour l'intérieur d'une iframe...

J'ai également essayé de récupérer l'évènement du clic pour la fenêtre pour ensuite déterminer la position de la souris mais après plusieurs essais je n'arrive pas à récupérer un quelconque clic quand celui ci se produit dans l'iframe.

Je n'ai plus d'idée sur la question :)
Quand tout le reste a échoué, lisez le mode d'emploi...

bins
Invité n'ayant pas de compte PHPfrance

22 août 2005, 18:56

Merci pour le code mais aurait tu une solution pour rendre ton code compatible avec ie ?

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

22 août 2005, 19:11

Merci pour le code mais aurait tu une solution pour rendre ton code compatible avec ie ?
http://www.mozilla-europe.org/fr/products/firefox/ :langue: :pouce:

bins
Invité n'ayant pas de compte PHPfrance

24 août 2005, 09:44

Oui mais tout le monde n'utilise pas firefox ! :evil: