IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Content de plusieurs onglet (firefox)


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 216
    Points : 88
    Points
    88
    Par défaut Content de plusieurs onglet (firefox)
    Bonjour,

    Je travaille sur une extension firefox (qui est une sorte de password manager).
    J'exécute une fonction d'une dll au chargement d'une nouvelle page (onglet) pour certaines url seulement. Cette fonction fait plusieurs secondes pour me retourner une valeur. Pour éviter de freezer le browser, j'exécute cette fonction dans un thread en background. Suivant la valeur retournée, je remplis un champ dans la page. Cela marche bien pour le chargement d'une page unique.
    Voici le code.

    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
    window.addEventListener("load", function () { gBrowser.addEventListener("load", myObject.onPageLoad, true); },   false);
    var myObject= {
       onPageLoad: function(event){
          if (event.originalTarget instanceof HTMLDocument) {
             var doc = event.originalTarget;
             var win = doc.defaultView;
     
             // Wait for the main event to fire.
             if (win.frameElement)
                return;
             else {
                //do my process in a background thread
                // ... 
               //then return the value (returnedValue) and I want to fill a field in the page
               doc.getElementById(idPassField).value="returnedValue";
             }
          }
       }
    }
    J'ai maintenant un problème lorsque plusieurs pages se chargent simultanément (par exemple lorsqu'on rouvre firefox en ayant sauver les onglets).

    Dans la traitement de la fonction de ma dll, je détecte qu'un processus est déjà en cours (en utilisant la mémoire partagée) et je peux arrêter un nouveau traitement. Ainsi, si le traitement se lance dans un second onglet, il s'arrète et le premier continu dans le premier onglet. Le problème vient en fait que je ne puis plus travailler sur mon premier onglet. (Je ne parviens plus à remplir le champ dans mon premier onglet).

    var doc = event.originalTarget prend la valeur du contenu du second onglet, donc quand je fais doc.getElementById(idPassField).value j'ai une erreur.

    Comment y remédier?

    Merci d'avance si qqn a une idée

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Bonsoir.

    Documentation sur les targets :

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 216
    Points : 88
    Points
    88
    Par défaut
    Merci pour le lien danielhagnoul,

    Cependant, je ne comprends toujours pas pourquoi lors du chargement du second onglet, la variable var doc = event.originalTarget; de
    l'object myObject est mise à jour par le chargement du second onglet.

    En fait, comment je peux alors crée un nouvel object par onglet?

Discussions similaires

  1. récupérer objet document de plusieurs onglets (Firefox)
    Par fleto dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 18/06/2010, 12h51
  2. Export requete sur excel sur plusieur onglets
    Par Renardo dans le forum Access
    Réponses: 10
    Dernier message: 26/01/2007, 17h13
  3. Template d'application comportant plusieurs onglets
    Par g0ldenrno dans le forum Interfaces Graphiques en Java
    Réponses: 8
    Dernier message: 21/06/2006, 18h00
  4. [VBA-E] Impression page paire sur plusieurs onglets
    Par liop49 dans le forum Macros et VBA Excel
    Réponses: 23
    Dernier message: 17/02/2005, 15h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo