|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Membre Expert
![]() ![]() |
Bonjour à tous
Mon niveau en javascript n'est pas trés bon et donc je sèche sur un truc, peut-être un peu complexe. Je programme un site asp.net et je dois faire une page dans laquelle j'affiche un tableau de bord et un site distant. Pour cela j'ai opté pour cette version de code : Code :
Mon souci actuel est que je ne sais pas comment déclencher un traitement serveur dans mafonc(). Ensuite, j'aimerais récupérer l'URL complète qui alimente la Iframe à chaque clic mais je ne sais pas si c'est possible. Pourriez vous m'aider ?
__________________
Mon blog de création d'univers : Qualhiryann Mon site qui parle de moi moi.ozouf.com |
||
|
00
|
|
|
#2 |
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
Bonsoir,
Pour effectuer un traitement côté serveur sur un clic, il faut utiliser une requête AJAX. http://ajax.developpez.com/cours/ |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() ![]() |
Merci pour ton aide.
Et pour l'URL de la Iframe, un tuto ?
__________________
Mon blog de création d'univers : Qualhiryann Mon site qui parle de moi moi.ozouf.com |
|
00
|
|
|
#4 | ||
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
Je ne suis pas sûr d'avoir compris ce que tu veux faire avec l'iiframe, mais tu peux accéder à son url de deux façon.
Code javascript :
|
||
|
|
00
|
|
|
#5 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 007 ![]() |
Vu que le site dans l'iframe est distant donc a priori pas sur le même domaine, pas sur que tu puisses récupérer les clicks dans l'iframe ...
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() ![]() |
Merci pour ton aide.
Visiblement, je ne suis pas doué en javascript parce qu'il me retourne une erreur. Avec ce code là : Code :
Et je ne vois pas bien où je me suis planté.
__________________
Mon blog de création d'univers : Qualhiryann Mon site qui parle de moi moi.ozouf.com |
||
|
00
|
|
|
#7 |
|
Membre Expert
![]() ![]() |
Mise à part la récupération de l'URL, à chaque click que je fais j'ai la msgbox qui apparait. ça me suffit pour récupérer le click.
__________________
Mon blog de création d'univers : Qualhiryann Mon site qui parle de moi moi.ozouf.com |
|
00
|
|
|
#8 | ||
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
Code javascript :
Par contre je vois pas où tu as une message box, et où on clic pour l'afficher |
||
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() ![]() |
Merci avec les guillemets ça marche.
Pour revenir sur l'URL je récupère la même chose à chaque page (pour l'exemple : www.google.fr. J'aurais voulu l'URL complète, avec toute la queryString. Y aurait pas un truc à préciser en plus pour avoir tout ?
__________________
Mon blog de création d'univers : Qualhiryann Mon site qui parle de moi moi.ozouf.com |
|
00
|
|
|
#10 |
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
|
|
|
00
|
|
|
#11 | ||
|
Membre Expert
![]() ![]() |
Désolé, j'ai répondu trop vite, j'ai zappé ta question subsidiaire.
La msgbox est dans la fonction (le alert si tu préfère). Voici le code généré Code :
__________________
Mon blog de création d'univers : Qualhiryann Mon site qui parle de moi moi.ozouf.com |
||
|
00
|
|
|
#12 | ||
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
Je n'avais pas bien compris ce que tu voulais faire au départ...
En fait, l'attribut src de l'iframe n'est pas modifié lors de la navigation à l'intérieur de l'iframe. On peut accéder à l'url sur chaque changement de page dans l'iframe avec : Code :
Ce qui n'est pas ton cas avec google. |
||
|
|
00
|
|
|
#13 |
|
Membre Expert
![]() ![]() |
Ok, en gros c'est l'inconvénient majeur puisque c'est ce cas là précisément qui sera en place, Google ou un autre site, quoi qu'il arrive, ça en sera pas le même domaine.
Donc, c'est impossible ? Si oui, simplement capter le fait que l'utilisateur ait cliqué dans la Iframe, c'est possible, à chaque click, je bien sûr parler de click qui change la page affichée ?
__________________
Mon blog de création d'univers : Qualhiryann Mon site qui parle de moi moi.ozouf.com |
|
00
|
|
|
#14 |
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
Sans certitude absolue, je dirais que non, puisque la raison de cet inconvénient est qu'on ne peux pas accéder à ni modifier une iframe dans le domaine n'est pas le même(question de sécurité).
En gros, l'iframe devient une boite noire sur laquelle on ne peut pas agir (à part modifier les attributs de la balise iframe elle-même, tels que le src). |
|
|
00
|
|
|
#15 |
|
Membre habitué
![]() |
voilà 2 liens sur le cross domain justement pour accéder à des web services en toute honnêteté je précise :
http://blog.jaysalvat.com/article/co...-en-javascript http://madskristensen.net/post/Ifram...ipt-calls.aspx
__________________
"Il n'existe que deux choses infinies, l'univers et la bêtise humaine... mais pour l'univers, je n'ai pas de certitude absolue." (Albert Einstein / 1879-1955) |
|
|
00
|
|
|
#16 |
|
Membre Expert
![]() ![]() |
Merci Laurent pour tes liens.
Visiblement ça parle que de webservice, hors moi, je vais pointer sur des sites tout à fait standard et pas des webservice. Je ne vois donc pas comment je pourrais intégrer cela. Mais si tu as une idée je suis preneur. @nadox : bon, ok, oublions l'URL en retour. Est ce que je peux au moins être sûr qu'à chaque fois qu'un utilisateur va changer de "page" dans la Iframe il y aura un load de la Iframe ? Si c'est le cas, je vais me contenter de la première fonction qui se déclenche sur load de la Iframe et là, avec un HttpWebRequest, je vais envoyer une requête serveur pour "compter" les clics fait dans le Iframe. Mais j'ai besoins d'être sûr de coup là.
__________________
Mon blog de création d'univers : Qualhiryann Mon site qui parle de moi moi.ozouf.com |
|
00
|
|
|
#17 | ||
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
Oui oui, l'évennement onload est équivalent à window.load dans le sens où il est déclenché à chaque chargement complet du document de l'iframe.
Par contre, il y aura une latence, et si l'utilisateur clique avant la fin du chargement de l'iframe, le click ne sera pas comptabilisé. Tu peux tester cette page pour vérifier : Code :
|
||
|
|
10
|
|
|
#18 |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 854 ![]() |
comme le dit nadog et spacefrog, il t'est impossible de récupérer les click dans l'iframe depuis la fenetre parente si c'est un domaine différent !
une fois que l'iframe a le focus, c'est comme si la fenetre autour était une autre page totalement indépendante comme dans un autre onglet par exemple. donc sans focus impossible de récupérer le moins events. (seule la frame a accès aux events). tu n'es pas le premier geek a vouloir faire un navigateur dans un navigateur. et la solution la plus proche est d'utiliser un proxy php par exemple, que tu pourras eventuellement mettre dans une iframe ou non. par exemple au lieu de visiter http://www.google.com/, tu auras http://www.monsite.com/index.php?url...ww.google.com/ et en php(ou autre langage coté serveur) tu devras récuperer le contenu de l'url (ici google) et générer une page avec un contenu identique (en modifiant les liens et les forms vers tonsite qui enverra a son tour les requete au serveur du vrai site). un truc dans le genre |
|
|
00
|
|
|
#19 | |||
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 854 ![]() |
Citation:
|
|||
|
|
00
|
|
|
#20 | |
|
Membre Expert
![]() ![]() |
Citation:
Juste les Click ça sufira pour mon projet, enfin, j'espère que mon client s'en contentera. Aprés tout, il me considère comme un professionnel de 20 ans d'expérience et compte sur moi pour faire ça. Maintenant, c'est vrai que j'ai plus l'habiude de faire des sites avec du lourd, des grosses base de donnée, des objets serveur en .NET en liaison direct avec des applications qui tourne en arrière plan sur le serveur lui même. Du coup, me balader dans des frame, j'ai pas l'habitude. Merci pour tout Nadox, je pense qu'on va pouvoir boucler le sujet. Si une autre idée te venais, n'hésites pas.
__________________
Mon blog de création d'univers : Qualhiryann Mon site qui parle de moi moi.ozouf.com |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com