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é.
Envoyé par : Zéf
Date : 17/03/2006 20:14
Salut,
Pour résumer, ton approche sera :
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.
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 ;)
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.
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..
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)...
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.