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 :

Possibilité de créer un lien qui cible une page web déjà ouverte du navigateur


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 44
    Points : 33
    Points
    33
    Par défaut Possibilité de créer un lien qui cible une page web déjà ouverte du navigateur
    Bonjour,

    Savez vous s’il y a une possibilité de créer un lien qui cible une page web déjà ouverte du navigateur.

    Je ne parle pas de target_blank qui ouvre une nouvelle fenêtre.

    Quel intérêt vous allez me dire ? Et bien, j'ai réalisé un player mp3 pour un site dédié à la musique.

    Pour avoir une lecture en continue, il fallait soit faire le site en ajax, ou en frame (pas terrible) ou ouvrir le player dans un pop up. Pour l'instant, c'est la dernière solution qui est utilisée (pop up). Le player affiche des liens en fonction de la musique qui est lue. Et j'aimerais que ces liens puissent cibler la page du site principal.

    Pour résumer, le site permet d'ouvrir un pop up qui contient le player. J'aimerais que les liens contenus dans le player puissent cibler la page du site principal et ne pas ouvrir de nouvelles fenêtres.

    A priori, je ne pense pas que ce soit possible en html. En javascript peut-être ? Merci pour votre aide et vos réponses.

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Tu peux avec l'objet "opener" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    opener.location.href = 'ton-lien.html';

  3. #3
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonsoir

    Une réponse dans la FAQ JavaScript : http://javascript.developpez.com/faq...tre#MAJFenMere, en effet ce n'est pas possible en HTML

    Edit : grillé
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 44
    Points : 33
    Points
    33
    Par défaut
    Merci Bisûnûrs & 12monkeys.

    C'est parfait.

    Je vais tester ça tout de suite.

    J'avais bien cherché sur google mais mes recherches portaient sur "ciblage, lien, etc" et ça ne donnait rien.

    Là avec le nom de l'objet + un tuto, c'est excellent.

  5. #5
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="monLien.html" target="maFenetre">click</a>
    ça ouvre une fenêtre (ou un onglet suivant les réglage de l'utilisateur) cette fenêtre est identifié par le navigateur comme étant "maFenetre"

    à quelque moment que ce soit même si on a changé 1à fois de pages un click sur un lien avec le target="maFenêtre" ouvrira le lien dans cette fenêtre.

    donc pas besoin de javascript
    A+JYT

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 44
    Points : 33
    Points
    33
    Par défaut
    J'ai testé la solution avec JavaScript et ça fonctionne très bien.

    J'ai testé la solution donnée par sekaijin et ça fonctionne très bien aussi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="monLien.html" target="maFenetre">click</a>
    J'ai remarqué que :

    1 - Avec JavaScript avec l'objet "opener", une fois la page mère ciblée / rechargée, le bouton "back" du navigateur n'est plus actif dans la fenêtre mère. On a plus la possibilité de revenir en arrière dans l'historique de navigation.

    2 - Avec la solution donnée par sekaijin (target="maFenetre"), on a encore accès au bouton "back" du navigateur

    Mais pour cette solution qui me parait la plus simple il reste cependant un problème dans mon cas. En effet, il faut d'abord ouvrir une première fois la fenêtre mère avec target="maFenetre" pour qu'elle puissent être ciblée depuis mon popup.

    Avec JavaScript, la fenêtre mère est identifié depuis le popup.

    Pour qu'elle puisse être identifiée depuis le popup avec target="maFenetre", il faut qu'au préalable la fenêtre mère ait déjà été ouverte avec target="maFenetre" depuis un lien.

    Est ce que vous me comprenez ? Je devrais peut-être faire un exemple.

    Merci en tout cas pour vos réponses.

  7. #7
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    ben en combinant les deux
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    var aWin=window.open('monLien.html', 'maFenetre');
    plus loin dans le code on peut utiliser aWin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    aWin.location.href='http://localhost/'
    ou encore dans le html
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="monLien.html" target="maFenetre">click</a>
    on garde l'historique de navigation indépendamment des fenêtres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //historique de la fenêtre principale
    window.history.back();
    //historique du popup
    aWin.history.length
    A+JYT

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 44
    Points : 33
    Points
    33
    Par défaut
    Merci sekaijin pour ta solution qui fonctionne très bien.

    Mais je rencontre de nouveau un obstacle.

    Dans mon popup, j'ai plusieurs liens (exemple : lien1, lien2, etc.)

    La page mère qui ouvre le popup s'appelle test.html

    Code javaScript dans test.html :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <SCRIPT LANGUAGE="JavaScript">
     
    //historique de la fenêtre principale
    window.history.back();
    //historique du popup
    aWin.history.length
     
    </SCRIPT>
    Avec ta solution, je peux recharger la page mère depuis le lien1, la page mère se recharge avec une autre page (test2.html) :

    code du lien1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p><a href="test2.html" target="maFenetre">click</a></p>
    code JavaScript dans le pop up :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <SCRIPT LANGUAGE="JavaScript">
    // test 
    var aWin=window.open('test.html', 'maFenetre');
     </SCRIPT>
    Une fois la page mère rechargé avec test.html, le lien2 dans le pop ne fonctionne pas

    code du lien2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p><a href="test.html" target="maFenetre">click</a></p>
    Est ce que vous avez une idée pour contourner ce problème ? Merci.

Discussions similaires

  1. [Tableaux] Lister les Liens Photos d'une Page Web
    Par Phenol dans le forum Langage
    Réponses: 2
    Dernier message: 19/01/2007, 00h00
  2. Script qui ouvre une page web et remplit le formulaire
    Par koKoTis dans le forum VBScript
    Réponses: 12
    Dernier message: 15/08/2006, 02h34
  3. Réponses: 1
    Dernier message: 15/08/2006, 01h39
  4. [RegEx] extraire les liens hypertexte d'une page web
    Par lalama dans le forum Langage
    Réponses: 1
    Dernier message: 22/03/2006, 10h43
  5. [FTP] lien ftp depuis une page web
    Par broken dans le forum Langage
    Réponses: 1
    Dernier message: 24/10/2005, 13h03

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