Bonjour,
J'utilise régulièrement un site (suivi de la scolarité de mes enfants) pour lequel Firefox ne me propose pas d'enregistrer l'identifiant et le mot de passe.
Je me suis donc créé un marque-page scripté, dont voici le détail :javascript:(function(){document.getElementById("password").value="MOTdePASSE";document.getElementById("username").value="IDENTIFIANT";document.getElementById("SubmitCreds").click()})();
Ainsi, en un seul clic, le formulaire est rempli et la connexion démarre.
Ma question : est-il possible d'améliorer mon code pour y inclure le chargement de la page ? Autrement dit, j'aimerais éviter de cliquer d'abord sur le marque-page du site, puis lorsque la page est chargée, sur mon marque-page scripté.
Le site est souvent très lent, et en regroupant les deux actions je pourrais faire autre chose pendant ce temps.
Merci pour tous les éléments de réponse que vous pourrez m'apporter !
# pas la solution
Posté par NeoX . Évalué à 2.
j'ai essayé le site,
avec safari, firefox
en cochant ordinateur privé, comme en laissant ordinateur public
ca me propose bien d'enregistrer le mot de passe pour le site.
tu n'aurais pas fait "plus jamais pour ce site" à un moment ?
car en cochant cette case je n'ai effectivement plus la possibilité de le sauvegarder (ca doit pouvoir se reinitialiser)
[^] # Re: pas la solution
Posté par NeoX . Évalué à 2.
ca se reinitialise en allant dans "preferences -> securité"
puis dans le paragraphe "mot de passe" cliquer sur "exceptions"
[^] # Re: pas la solution
Posté par ccm67 . Évalué à 1.
Bonsoir,
Et merci pour la réponse.
Le blocage ne vient pas de moi mais du site qui inclut des propriétés
autocomplete="off"
dans le code HTML du formulaire.J'ai déjà essayé, avec un autre marque-page scripté, de modifier ces propriétés à "on".
Firefox a alors enregistré mon identifiant et mon mot de passe, mais je ne sais pas pourquoi, lorsque je reviens sur la page, les deux champs restent vides sans que je ne puisse les remplir.
Mais ma question ne dépend pas tellement du problème de Firefox : est-il possible, en javascript, de charger une page, d'attendre qu'elle soit chargée, puis d'exécuter de nouvelles instructions ? Mes recherches n'ont rien donné.
Merci encore.
[^] # Re: pas la solution
Posté par NeoX . Évalué à 3.
en passant par un iframe peut-etre ?
iframe sur un serveur à toi,
qui charge la page, puis execute ton script de completion
[^] # Re: pas la solution
Posté par ccm67 . Évalué à 1.
Je ne connais pas trop le fonctionnement des iframes, je vais chercher demain, et je posterai le résultat de mes essais.
J'ai le plaisir de me coucher avec une piste, merci !
[^] # Re: pas la solution
Posté par ccm67 . Évalué à 1.
J'ai fait des essais avec des iframes.
Mais je bloque sur un problème de domaines : depuis une page de mon serveur, je dois accéder à des éléments d'une page distante.
Javascript semble bloquer ces opérations, comme en parle cette page en anglais.
J'ai donc l'impression que cette solution ne peut pas aboutir.
[^] # Re: pas la solution
Posté par Adrien Dorsaz (site web personnel, Mastodon) . Évalué à 2. Dernière modification le 18 novembre 2014 à 08:39.
J'ai regardé le code pour "privé" ou "publique", ça permet juste d'avoir un cookie qui ne t'oblige pas à te reconnecter à chaque fois :
Je n'ai jamais trop touché au javascript, mais ça m'étonne qu'ils enlèvent 9999 au lieu de les ajouter… ça signifie que la date d'expiration est toujours expirée, non ? Il semblerait que si, si on exécute le code dans la console javascript de Firefox :
Firefox me propose bien d'enregistrer le mot de passe, mais il ne complète pas le formulaire quand j'y reviens (justement à cause de "autocomplete=off" dans le code de l'input).
Au fait, Greasmonkey ne permettrait pas de rajouter du javascript à la page qui s'exécute lorsque celle-ci est chargée ? D'après la description, c'est ce que tu cherches, mais je ne l'ai jamais utilisé.
[^] # Re: pas la solution
Posté par ccm67 . Évalué à 1.
Merci pour ces compléments, et pour la nouvelle piste Greasemonkey.
Je viens de l'installer, je vais commencer à faire des tests.
À suivre …
[^] # Re: pas la solution
Posté par ccm67 . Évalué à 1.
Mon problème est résolu !
Un grand merci NeoX et Adrien pour vos contributions.
J'ai installé GreaseMonkey, j'ai choisi nouveau script, j'ai entré mon domaine «entea.fr».
Un éditeur s'ouvre pour le script, je n'ai eu qu'à ajouter mes trois lignes :
Maintenant, lorsque je clique sur mon marque-page, la connexion est déclenchée automatiquement. Génial !
# Greasmonkey
Posté par Tonton Benoit . Évalué à 3.
Comme dit au dessus c'est Greasemonkey que tu cherche.
Le problème des bookmarklet c'est qu'en chargeant une nouvelle URL tu reset l’environnement javascript, donc le reste de ton script après le changement de page est perdu.
On pourrait être tenté de charger la page dans le document actuel, mais dans ce cas on se frotte à la same origin policy.
Sinon, vu que tu valide déjà le formulaire dans ton bookmarklet, tu peut tenter de le créer par la même occasion, un truc du genre :
Mais ça peut ne pas marcher, genre si y'a un formulaire caché avec des valeurs dynamiques ou un contrôle du referer.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.