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 :

Auto focus sur une page a chaque fois que son contenu se change


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2009
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 60
    Points : 29
    Points
    29
    Par défaut Auto focus sur une page a chaque fois que son contenu se change
    Bonjour,
    J'ai fouillé pas mal mais j'ai pas trouvé ce que je cherche bien que ca ne parait pas etre difficile.
    J'ai deux pages html dont chacune a un lien qui pointe vers l'autre page mutuellement. J'aimerais que quand je clique sur un lien d'une page, l'autre page prend la main automatiquement et apparait au premier plan sans que j'aye aller la chercher manuellement. En effet mainetenant je ne remarque pas si la page cachée s'est rechergée ou pas.
    J'ai essayé de mettre des trucs genre "onchange()=focus()" mais cela n'a pas marché.
    Pouvez vous m'aidez?
    Merci d'avance!

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    le focus s'applique a un objet ... pas dans le vide

    this.focus() ou self.focus()
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2009
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 60
    Points : 29
    Points
    29
    Par défaut
    Merci s.f pour la réponse rapide, mais ça marche toujours pas.
    Laissez moi vous expliquer de quoi s'agit-il:
    un onglet A et un onglet B existent déjà dans le navigateur.
    Si le navigateur A est ouvert, et B est au fond, je veux que quand je clique sur le lien qui pointe vers B, l'onglet B s'affiche en avant. Ceci ne se passe que lorsque B s'ouvre pour la première fois, mais après, il se recharge en arrière plan sans sauter en dessus.
    J'ai mis ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <body bgcolor="#fffbae"   onload="this.focus();">
    et cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     <body bgcolor="#fffbae" >
     <script>self.focus();</script>
    Mais en vain. Il me semble que le choix de "onload" au lieu de "onchange" est correct, car je veux que la page entière prenne la main, et pas un champ de saisie, cependant je doute quant à "focus" peut être il faut avoir une autre fonction?
    Merci!

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body bgcolor="#fffbae"   onload="document.documentElement.focus();">
    ???
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Nouveau membre du Club
    Inscrit en
    Janvier 2009
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 60
    Points : 29
    Points
    29
    Par défaut
    Ça marche seulement la première fois quand la page s'ouvre et après...
    elle se recharge au silencieusement au fond..

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    si la page n'a pas le focus ...
    ça veut dire que c'est une fille ou un parent qui fait les modifs ???

    redonne lui le focus depuis la fille ou le parent ...

    dans la fille par exemple
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Nouveau membre du Club
    Inscrit en
    Janvier 2009
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 60
    Points : 29
    Points
    29
    Par défaut
    Salut!
    Ben... Pas encore
    Voila ce que j'ai fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <script type="text/javascript" language="javascript">
    function my_open(url,name)
    {
        neo=window.open(url,name);
    	neo.window.focus();
    }
    </script>
    Et j'appelle le lien comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="javascript:my_open('mon_lien','one')">Ma page</a>.
    Par contre je vios pas trop ou mettre ta:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    self.opener.focus()
    Je l'ai mis dans le <BODY> mais cela ne parait pas tres correct...
    Mais cela m'étonne que la fonction ci-dessus ne puisse pas fonctionner...

    A l'aide!

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    essaye:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <script type="text/javascript" language="javascript">
    function my_open(url,name)
    {
        neo=window.open(url,name).focus();
    }
    </script>
    avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="my_open('mon_lien','one');return false;">Ma page</a>.
    le souci proviendrait selon moi de la continuation du href àprès la focntion qui rend le focus à la page mère
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Nouveau membre du Club
    Inscrit en
    Janvier 2009
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 60
    Points : 29
    Points
    29
    Par défaut
    Merci encore une fois s.f je crois que je commence a t'ennuier la mais ca ne marche toujours pas.
    Ce qui est intéressant, c'est ce bout de code est inspiré de cette fonction:
    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
     
    <script type="text/javascript" language="javascript">
    function twNeowin(nUrl,nNom,w,h,nScroll){
      // Ouvrir un popUp
     
      // Centrer le popUp
      var winl = (screen.width) ? (screen.width-w)/1.7 : 0;
      var wint = (screen.height) ? (screen.height-h)/3 : 0;
      var options = 'width='+w+',height='+h+',top='+wint+',left='+winl+',scrollbars='+nScroll+',resizable=no';
     
      // Ouvrir le popUp
      neo=window.open(nUrl,nNom,options);
     
      // Forcer le focus sur un PopUp d¨¦j¨¤ ouvert
      if(neo.window.focus){neo.window.focus();}
    }
    </script>
    qui ouvre un popup, et le met en focus. Mais quand je veux que cela s'ouvre dans un onglet cela ne marche pas.
    Pire, la fonction que j'ai modifié (avec ton code aussi) sou IE ouvre un popup qui (heureusement) prend le focus.
    Est ce que les tabs ne prennent pas le focus?
    Bizarre...

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    tu en pourra pas controler la cible d'ouverture entre un popup et un onglet, c'est un paramètre du navigateur dont seul le client à la maitrise.

    Parcontre il est curieux que l'onglet ne prenne pas le focus avec ce code car c'est l'objet window qui est visé et peu importe que ce soit un onglet ou un popup...
    Quoi qu'un y reflechissant bein le basculement de focus vers l'onglet ouvert est aussi une option paramètrable niveau client ... sous ffx en totu cas

    en dernier recours essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <script type="text/javascript" language="javascript">
    function my_open(url,name)
    {
        neo=window.open(url,name);
       setTimeout(function(){if(neo.focus){neo.focus()}},500)
    }
    </script>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  11. #11
    Nouveau membre du Club
    Inscrit en
    Janvier 2009
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 60
    Points : 29
    Points
    29
    Par défaut
    Bijour
    Ca n'a pas marché non plus, mais la bonne nouvelle est que j'ai trouvé une autre solution
    Bien que relativement "quick n dirty", mais ca résoud ce prob convenablement.
    L'enchainement des idées est assez naturel: si on a besoin que la fenetre prenne la main, et qu'une fenetre ne prend la main que si elle s'ouvre pour la premiere fois, pourquoi pas ne pas l'ouvrir a chaque fois de nouveau?
    i.e: fermer l'ancienne fenetre avant d'ouvrir la nouvelle.
    Code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <script type="text/javascript" language="javascript">
    var neo;
    function my_open1(url,name)
    {
    	if(neo) neo.close();
    	neo=window.open(url,name);
     
    }
    </script>
    et bien sur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="javascript:my_open('ma_page','one')">La page</a>
    Et voila! Je met le thread en résolu, mais de meilleures idées sont les bienvenues.
    Merci spuffy!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/09/2014, 16h57
  2. Réponses: 3
    Dernier message: 09/11/2010, 19h31
  3. Réponses: 5
    Dernier message: 14/11/2007, 08h03
  4. [Visual Web] focus sur une page JSP (anchor)
    Par tomagold dans le forum NetBeans
    Réponses: 3
    Dernier message: 27/06/2007, 14h19
  5. Comment avoir FOCUS sur une page
    Par clucibelle dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 22/02/2007, 10h05

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