Voici un petit retour d'expérience sur Mozilla et JavaScript que j'utilise tous les jours au boulot.
Résumé :
Certaines pages contiennent du JavaScript qui ne fonctionne qu'avec MSIE, si on n'a pas accès aux sources des pages en question, on se retrouve plus ou moins bloqué, impossible d'aller plus loin.
Heureusement, Mozilla vient avec un débugger JavaScript qui permet d'exécuter n'importe quel code dans le contexte de n'importe quelle page affichée dans le navigateur.
Ceci permet de valider des formulaires en contournant du code de validation mal écrit, de saisir des valeurs non prévues dans les champs, bref de contourner à peu près tous les problèmes du JavaScript.
Procédure :
Il faut commencer par lancer le débugger JavaScript:
Outils/Développement Web/Débogeur JavaScript
La fenêtre du débugger JavaScript s'ouvre. La première fois, Mozilla doit probablement compiler tout un tas de trucs parce que le CPU grimpe à 100% pendant plus d'une minute sur ma machine. Les lancements suivants sont quasiment imédiats.
Si vous n'avez pas de sous-fenêtre "Fenêtres ouvertes" il faut l'activer via :
Vue/Voir & Masquer/Fenêtres ouvertes
Sélectionnez dans l'arbre de "Fenêtres ouvertes" la fenêtre, l'onglet ou la frame qui vous intéresse, l'activer en faisant dessus :
[Clic-droit]/Défini un objet d'évaluation
(c'est le second choix, en anglais cela donne quelque chose comme "set as active context")
En cliquouillant sur l'élément de l'arbre, le source de la page sélectionnée apparait dans la sous-fenêtre "Code Source".
Ensuite, dans la sous-fenêtre "Session interactive" il est possible de saisir le JavaScript que vous voulez. Le titre de la sous-fenêtre indique le contexte à utiliser.
Exemple :
Ouvrir http://www.google.fr/ et définir la page ouverte comme contexte courant dans le débugger JavaScript.
Saisir :
document.f.q.value='linuxfr';
Le champs de recherche contient maintenant la valeur 'linuxfr'
Saisir :
document.f.submit();
La requête est lancée, la fenêtre contient maintenant les réponses à la recherche.
Automatisation :
La "Preference toolbar" qu'il est possible d'installer à partir de
http://www.xulplanet.com/downloads/prefbar/ permet de créer un bouton et d'y associer le code javascript que l'on veut. Avec le code adéquat, il est possible de pré-remplir un certain nombre de champs, et/ou de valider le formulaire en contournant tout un tas de code de validation mal écrit qui empèche de soumettre le formulaire.
Lorsque vous utilisez régulièrement le site en question (comptes en banque, réservation, horaires...), le fait de définir un bouton vous évitera une fastidueuse saisie :
Dans les préférences :
Avancées/Preferences Toolbar/New Item
Type: Button
Id: valideFormBanque
Label: ValideBanque
onclick: document.commandDispatcher.focusedWindow.content.w_contenu.document.theForm.submit();
Le chemin est bien plus long, parce que l'on ne se trouve pas dans le bon contexte, il faut retrouver celui de la page courante.
Si vous avez des frames, il faut en plus spécifier celle ci.
Si vous voulez exécuter plusieurs commandes, cela fonctionne sans problème, mais il faut tout coller sur une unique ligne.
# Re: Mozilla et JavaScript
Posté par lorill (site web personnel) . Évalué à 3.
[+]
# Re: Mozilla et JavaScript
Posté par Mathieu Pillard (site web personnel) . Évalué à 3.
ah oui sinon pour les frileux en regardant le code source et avec juste la console javascript / la barre d'url (tapez javascript:document.forms['f'].elements['q'].value="blah";) on peut faire le meme genre de choses...
# Commentaire supprimé
Posté par Anonyme . Évalué à 2.
Ce commentaire a été supprimé par l’équipe de modération.
# Re: Mozilla et JavaScript
Posté par XHTML/CSS inside (site web personnel) . Évalué à 0.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.