Reprendre la main après un appel avec window.open

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Reprendre la main après un appel avec window.open

Re: Reprendre la main après un appel avec window.open

par Philippe36 » 15 oct. 2010, 15:17

Merci de ton aide. C'est bien ce qu'il me semblait.

Pourtant, ce code est utilisé depuis des lustres puisque c'est celui d'un CMS (npds pour ne pas le nommer)

tu me confirmes donc bien qu'après avoir exécuté le window.open, le script doit bien continuer son travail. Est-ce que le fait que ce code soit dans une fonction a une influence? (la fonction n'a pas de valeur de retour)

Grossièrement résumé, voici le code

Code : Tout sélectionner

function docookie($mes_parametres) { setcookie(avec les bons parametres); echo"<script>window.open('http://mon_second_site/ma_page_docookie.php?param=$mes_parametres','secours','menubar=no, status=no, scrollbars=no, menubar=no, width=50, height=50');</script>"; echo"<script>alert('ok')</script>"; // marqueur pour tester }

Ainsi, je crée bien un second cookie et le marqueur test m'ouvre bien un message OK, mais ca s'arrête là. Si je ne laisse que le marqueur ... idem et si je commente les 2 "echo", le site fonctionne correctement.

Où est mon erreur?????? Je pourrais essayer en mettant le window.open APRES l'appel de la fonction (et non pas DANS la fonction), mais comme cette dernière est utilisée à plusieurs endroits, c'est un peu galère.
:?:

Re: Reprendre la main après un appel avec window.open

par xTG » 15 oct. 2010, 12:03

Le soucis vient du code alors, car le navigateur ne va pas attendre que la fenêtre se ferme pour exécuter la suite du code.
Dès que l'instruction window.open a été exécutée il continue.

Reprendre la main après un appel avec window.open

par Philippe36 » 15 oct. 2010, 10:14

Bonjour;

je vais essayer d'expliquer mon problème.

J'ai 2 portails, hébergés sur des serveurs différents, dont l'un est la copie de secours de l'autre, éventuellement appelée par une redirection transparente pour le visiteur. Ces visiteurs sont des personnes peu familiarisées avec l'informatique qui s'étonnent de ne plus être identifiées en cas de changement,ne se souviennent plus comment faire, ont oublié leurs mdp, enfin c'est la galère.

Mon idée est donc de "dupliquer" le cookie d'identification,c'est-à-dire de créer 2 cookies lors de l'identification.

Pour se faire, sur le site B, j'ai créé une page php qui crée le cookie souhaité.

Sur le site A, en fin de procédure d'identification, j'ouvre dans une autre fenêtre (window.open) la page du site B créant le cookie (cette page se ferme automatiquement après 2 secondes).

Au niveau du résultat, j'ai bien ce que je souhaite : création de 2 cookies "utilisateurs" un pour le site A et un pour le site B.

Mon problème est que le script du site A ne continue pas de s'exécuter après l'appel par window.open.

Comment faire?

Merci d'avance pour votre aide

Bien cordialement.

Philippe