Bonjour,

je débute en JavaScript,
J'utilise le module GreaseMonkey de Firefox qui permet d'exécuter du code JS sur les pages du navigateur.

J'ai réussi à écrire un petit bout de code pour me connecter automatiquement à un site web :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if(document.getElementById('email_for_login')!=null)
{    
    var frm_element = document.getElementById('email_for_login');
    frm_element.value = 'mon identifiant';
    var frm_element = document.getElementById('password_for_login');
    frm_element.value = 'mon mot de passe';
 
    document.querySelector("#submit_for_login").addEventListener("submit", function(e){
       if(!isValid){
           e.preventDefault();    //stop form from submitting
       }
    });
 
    $('#submit_for_login').submit();
 
}
et ça marche bien

Le problème vient de l'expiration de session qui ouvre une nouvelle fenêtre sur la première.

De ce que je comprend dans les logs, le serveur envoie une méthode POST :
En tout cas ça me déconnecte bien quand je rentre cette URL dans mon navigateur avec la pop-up d'expiration, et dans l'onglet où j'ai entré l'URL on trouve le message :
{"status":true,"result":"logoutSuccessful"}
Il me semble que je ne puisse pas référencer les objets de cette fenêtre depuis mon ardoise JS, on dirait que mon ardoise s'applique à la page mère uniquement.
Je n'arrive donc pas remplir les champs (image en pièce jointe).

Pour info, on trouve dans le code source de la pop-up :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<div class="ui-dialog ui-widget ui-widget-content ui-corner-all ui-front…tPackage_jqueryuiTheme mediumPopup ui-draggable ui-resizable" style="display: block; position: absolute; height: auto; width: 484px; top: 887px; left: 484px;" tabindex="-1" role="dialog" aria-describedby="platformLoginDialog" aria-labelledby="ui-id-1">
 
    <div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix" style="display: none;"></div>
 
<div id="platformLoginDialog" class="spotPackage_popup hidden ui-dialog-content ui-widget-content platformCurrency_EUR" style="display: block; width: auto; min-height: 150px; max-height: none; height: auto;">
 
    <div class="popupHeader"></div>
    <div class="popupBody">
        <div class="formContainer">
            <form class="loginForm popupForm" method="POST" action="/Login/login?lang=fr" novalidate="novalidate">
 
    <table width="100%">
        <tbody>
            <tr class="emailTr">
                <td class="inputTd">
                    <input class="popupTextInput" type="text" name="email" autocomplete="off" aria-required="true" aria-invalid="true" validationfailed="true"></input>
 
            </td>
            <td class="desc"></td>
        </tr>
        <tr class="mtidTr" style="display: none;"></tr>
        <tr class="passwordTr"></tr>
        <tr class="serverUrlTr" style="display: none;"></tr>
    </tbody>
 
</table>
<input class="loginPopupSubmit" type="submit" autofocus="autofocus" value="Connectez-vous."></input>
 
            </form>
            <div class="errorMessage hidden"></div>
        </div>
        <a class="loginPopupForgotPassword" href="/appProxy/forgotPassword.html?blabla=2">
 
        Mot de passe oublié?
 
        </a>
    </div>
    <div class="popupBottom"></div>
 
</div>
Le second problème est que j'aimerais capter l’événement d'expiration pour me reconnecter automatiquement.
J'ai essayer quelques méthodes mais sans succès aussi je ne m'attarderai pas dessus.

Je suis prêt à entre vos propositions svp.


Nom : expiration.png
Affichages : 132
Taille : 18,3 Ko