Warning sur un popup

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 : Warning sur un popup

par MaKKrO » 29 juin 2006, 08:34

ok, alors voila :

Code : Tout sélectionner

<html> <head> <title> blabla... </title> <SCRIPT LANGUAGE="JavaScript1.2"> ... pas mal de java... ... window.onLoad = doOnLoad(12, 'login.php?res=popup2&uamip=192.168.4.1&uamport=3990&userurl=&redirurl=&timeleft=','', '', ''); window.onBlur = doOnBlur(12); </script> <FRAMESET BORDER="0" ROWS="0%,100%"> <FRAME SCROLLING="yes" NAME="deco" SRC="Close_Popup.php?user=flo"></FRAME> <FRAME SCROLLING="yes" NAME="infos" SRC="MyAcct.php?user=flo&uamip=192.168.4.1&uamport=3990"></FRAME> </FRAMESET> </html>
Toutes les fonctions appelées sont définies correctement auparavant !

Si je met en commentaires le window.onload, je peux voir mes framset, sinon mon popup est blanc...

J'ai besoin du onload car il dit au navigateur d'aller sur sa page par défaut (apres le login) !

par starkeus » 28 juin 2006, 21:02

Donnes nous des bouts de code parce que comme ça je ne vois pas comment plus t'aider ;)

par MaKKrO » 28 juin 2006, 16:05

Bon ba c'est pas encore ca....
Ca marche avec firefox 1.0, mais pas avec IE ni firefox 1.5 !!!


Je bad la... je ne sais plus quoi faire !!!

par MaKKrO » 28 juin 2006, 10:44

Ca y est, j'ai trouver... c'etait un peu tout c** mais bon....
Au lieu de mettre un

Code : Tout sélectionner

<body onLoad=".....">
je l'ai mis directement dans

Code : Tout sélectionner

<SCRIPT> window.onLoad= ........... </SCRIPT>
Maintenant faut que je fasse les fonction en java... c'est pas gagne non plus... chui un gros n00b !

par MaKKrO » 28 juin 2006, 08:49

Alors en fait, je pense avoir compris le truc....
Le body dont je parle, doit etre avant les framset afin d'executer le onLoad.

Ensuite je veux afficher les framset... mais ca ne veut pas !

La en fait je parle de 3 body differents, 1 dans chacunes des 2 frameset et un avant les framset...
si je vire le 1er body, les frameset s'affichent, mais si je le met, elles ne s'affichent pas ...

Si tu regarde bien le lien que tu m'as donner (non chui pas vexe :wink: ), quand il y a des frameset, il n'y a pas de body... or moi j'ai besoin des 2 en meme temps...

par starkeus » 27 juin 2006, 13:19

Ah mais tu utilises mal les frameset,regardes un peu la doc pour voir comment ca fonctionne sans vouloir te vexer ;).

exemple:
Alors ton application va contenir 2 frames, exemple :
  <frameset rows="*,18">
  <frame name="main" frameborder="0" src="main.php" title="contenu"></frame>
  <frame name="footer" frameborder="0" noresize="noresize" scrolling="no" src="footer.php" title="bas de page"></frame>
</frameset>
Ma frame footer doit récupérer les 2 évènements onBeforeUnload et onUnload:
<body onBeforeUnload="return message();" onUnload="confirmLogOut();">
L'évènement onBeforeUnload aura lieu car l'utilisateur va fermer la fenêtre. Alors une pop up de confirmation générique lui posera la question s'il souhaite vraiment fermer la fenêtre. S'il dit non alors la fenêtre ne se ferme pas, s'il répond oui alors le navigateur va fermer la fenêtre et donc déclencher l'évènement onUnload.

par MaKKrO » 27 juin 2006, 13:05

Ba...
SI je met un body (dt j'ai absolument besoin), les frameset ne s'affichent pas !...
j'ai testé et ceci me l'a démonter :
Important: You cannot use the <body></body> tags together with the <frameset></frameset> tags! However, if you add a <noframes> tag containing some text for browsers that do not support frames, you will have to enclose the text in <body></body> tags!
C'est la m***

par starkeus » 27 juin 2006, 13:00

Je pensai y etre arrivé ! mais non....
Je ne peux pas utiliser de <body> and les <frameset>...
Comment ça tu ne peux pas? ça n'a rien de bien méchant :-k

par MaKKrO » 27 juin 2006, 11:52

Je pensai y etre arrivé ! mais non....
Je ne peux pas utiliser de <body> and les <frameset>...

Or il me faut absolument le body, il me permet de chargé la page par default du browser...

Y'a t'il un moyen de contourné ca ?

Merci

par starkeus » 27 juin 2006, 08:59

Hélas la seule solution est la frame cachée pour ne déclencher l'évènement onBeforeUnload qu'à la fermeture de fenêtre.

En fait ta pop up est un frameset avec 2 frames. La première est la principale qui contiendra le meta refresh et le seconde est "cachée" c'est à dire avec une taille 0 et disposant de l'évènement onBeforeUnload sur la balise body.

A la fermeture de la fenêtre, l'évènement sera déclenché sur la frame cachée. Tandis que ton refresh ne concerne que le frame principal.

par MaKKrO » 27 juin 2006, 08:53

Ok, bon j'ai reussi a faire a peu pres ce que je voulais, mais j'ai un probleme...
J'ai un meta refresh sur ce popup, affichant un controle du traffic (UP/Down).

il m'affiche donc toujours le message a chaque refresh...
et ca c'est pas bien ^^

Ce que j'ai fait :

Code : Tout sélectionner

<script language="javascript"> function close() { window.alert('You have been disconnected'); window.open('autodisconnect.php','deco','width=200,height=200'); } </script> <body onUnload="close()">
et un self.close sur autodisconnect.php, vu que ca execute un tout petit script !

J'ai essayé avec unBeforeUnload mais c'est pareil...

Si quelqu'un peut me dire comment je peu faire fonctionné ca seulement a la fermeture du popup et non a chaque refresh... ca serait trop bien !!!

Merci

par zeus » 20 juin 2006, 10:00

Salut,

Il faut regarder du coté du javascript et de l'événement onunload() ou onbeforeunload() et un appel à une boite de dialogue confirm()
:!:

par MaKKrO » 20 juin 2006, 09:53

Merci les gars... mais en fait j'aimerai bien de l'aide !!!

par zeus » 20 juin 2006, 09:50

On voit que les modos suivent tous les sujets :pouce:
eh, je suis payé pour :D

Merde, j'aurais pas du dire que j'était payé :langue

par Truc » 19 juin 2006, 20:58

modération : comme convenu, j'ai supprimé le message en trop et j'ai déplacé ce message dans le bon forum ;)
On voit que les modos suivent tous les sujets :pouce: