Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# Ouvrir un popup avec une page en php et remplir automatiquement les champs

Envoyé par : john91

Date : 16/03/2006 21:34

bonjour, Dans les proprietes de mon extension j'ai des champs login et password qui sont enregistrer dans un fichier (je sais c'est pas trés securisé mais c'est pas trés important... :p ) Voila en fait, j'aimerai savoir si il est possible d'ouvrir un popup qui pointe sur une page php d'authentification et de remplir et valider automatiquement les champs afin d'acceder a la page suivante.. ?

je voulais faire quelque chose du style document.form.submit()... mais vu que les variables dont j'ai besoin sont dans un fichier en local... enfin j'espere que vous comprenez ce que je dis sinon c'est pas grave, en tout cas ce site est trop bien et m'a beaucoup aidé.

# Re: Ouvrir un popup avec une page en php et remplir automatiquement les champs

Envoyé par : Zéf

Date : 17/03/2006 20:14

Salut,

Pour résumer, ton approche sera :

  • charger la page de login
  • la remplir en JS via DOM en espérant que tes deux champs login et password n'ont pas changé de nom/id
  • soumettre ton formulaire

Pour charger ta page :

getBrowser().contentWindow.location.href = url;

Pour remplir tes champs, utilise :

getBrowser().contentWindow.document.getElementById('').value

si tu as un id

getBrowser().contentWindow.document.forms['monForm'].monChamp.value

si tu as juste le name

Pour soumettre

getBrowser().contentWindow.document.forms['monForm'].submit();

Attention, n'oublie pas dans ton chrome.manifest

content		myExt	chrome/content/			xpcnativewrappers=yes

Pour raison de sécurité

Evidemment ces bouts de code sont soumis aux aléas de l'improvisation :) mais je pense que tu peux chercher dans cette voie si jamais cela ne fonctionne pas.

Bon courage,
Z.

# Re: Ouvrir un popup avec une page en php et remplir automatiquement les champs

Envoyé par : john91

Date : 17/03/2006 20:37

tout d'abord merci pour ta reponse, ensuite voici la ou j'en suis mon code javascript:

var a = window.open("file:///C:/Documents%20and%20Settings/Administrateur/Bureau/formulaire.html", "",

	"width=500,height=350,scrollbars=1,left=" + 
	((screen.width - 500)/2) + ",top=" + ((screen.height - 350)/2) );

	
	
	a.focus();
	a.document.forms[0].submit();

J'ai fait ca pour tester, mon probléme c'est que quand je fais ca, il me met une erreur "typeError : a.document.forms0 has no property" si juste avant le a.document.forms0.submit(); je fais un alert(a) alors la ca marche.

je pense que c'est parce que la page n'a pas le temps d'etre chargé... je suis en trian de regarder dans cette direction si vous avez la solution je suis preneur ;)

# Re: Ouvrir un popup avec une page en php et remplir automatiquement les champs

Envoyé par : Zéf

Date : 18/03/2006 09:29

Salut,

Ton window.open doit te renvoyer une objet window.
Attache-lui un événement onload pour attendre la fin de son chargement :

if (myWindow.addEventListener)
    myWindow.addEventListener("load", fct, false);

Et tu mets ton code dans le corps de "fct". (C'est pas testé, désolé)

Bon courage, Z.

# Re: Ouvrir un popup avec une page en php et remplir automatiquement les champs

Envoyé par : john91

Date : 18/03/2006 10:04

j'ai ca :

var a = window.open("file:///C:/Documents%20and%20Settings/Administrateur/Bureau/formulaire.html", "",

	"width=500,height=350,scrollbars=1,left=" + 
	((screen.width - 500)/2) + ",top=" + ((screen.height - 350)/2) );
	
	try  {  
	if (a.addEventListener)
		{a.addEventListener('load', demar, false);}
} catch (e) {
alert(e);}

mais il lance jamais ma fonction demar() (un simple alert("page chargée" pour le moment) même quand la page est chargée.

edit : holala j'ai fait le tour des addeventlistener, window.onload ca passe pas..

# Re: Ouvrir un popup avec une page en php et remplir automatiquement les champs

Envoyé par : john91

Date : 18/03/2006 12:57

quand je fais ca :

window.addEventListener("load", function demar() {alert("coucou");}, false);

j'ai aucun message d'erreur, mais il ne se passe rien. je vois pas ce qui cloche to be continued...

edit : bon une amélioration si je fais

if ( typeof window.addEventListener != "undefined" ){alert("event defined");

	window.addEventListener("click", function demar() {alert("coucou");}, false);};

ca fonctionne donc ca serait le load qui ne fonctionnerait pas... to be continued (2)...

# Re: Ouvrir un popup avec une page en php et remplir automatiquement les champs

Envoyé par : john91

Date : 19/03/2006 10:40

bon j'en sors plus avec le addeventlistener... je m'oriente vers window.getBrowser().addProgressListener( quelqu'un qui avait le meme probléme que moi s'en est sorti comme ca.. bon allez maintenant restes plus qu'a chercher comment gerer le load avec ca.. j'y arriverai ! :)

bon j'ai reussi en utilisant un truc que j'avais deja fait mais mal a mon avis : tout simplement window.onload = fct(); voila merci à zef pour ton aide precieuse en tout cas ;)

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.