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 :

Ouvrir une url à l'ouverture du site


Sujet :

JavaScript

  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut Ouvrir une url à l'ouverture du site
    Bonsoir,

    je souhaite à l'ouverture du site ouvrir une fenêtre popup contenant un certain site. Pour mettre cela au point, je cherche tout simplement à ouvrir Google à l'ouverture du site. Voici mon code, mais Google ne s'ouvre pas
    Code HTML + JS
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <head>
    <script>
    function res_vhs()
    {
            window.open("https://www.google.fr/","google");
    }
    window.open="res_vhs";
    </script>
    </head>
     
    <body >
    ...
    </body>

  2. #2
    Membre chevronné
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arménie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Par défaut
    Bonjour,

    Un exemple de solution :
    Code html : 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
    <!DOCTYPE html>
    <html>
      <head>
        <script>
          function ouvrir_fenetre() {
            URL = "https://www.google.fr/";
            largeur = "500";
            hauteur = "300";
            pos_x = (screen.width-largeur)/2;
            pos_y = (screen.height-hauteur)/2.5;
            parametres = 'width='+largeur+',height='+hauteur+',left='+pos_x+',top='+pos_y;
            parametres += ',menubar=no,toolbar=no,directories=no,location=no,status=no,scrollbars=yes';
            ma_fenetre = window.open(URL, "identifiant", parametres);
          }
          function fermer_fenetre() {
            ma_fenetre.close();
          }
          onload = ouvrir_fenetre();
        </script>
      </head>
      <body>
        ...
      </body>
    </html>

  3. #3
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par défaut
    Bonjour,

    je voudrais compléter la réponse d’eleydet. Mais je ne pourrais pas donner de meilleure explication que l’article window.open du MDN, donc je vais me contenter de donner le lien. Attention à une chose en particulier : le choix d’autoriser la popup ou non appartient à l’utilisateur au final, et window.open peut retourner null en cas de bloquage. L’article explique pourquoi et comment gérer ce cas (paragraphe « bonnes pratiques »).

    Sinon, LaurentSc, tu as simplement un problème de syntaxe à cette ligne :
    En faisant window.open= tu écrases la fonction open. Et la chaîne "res_vhs" n’est pas la même chose que la fonction res_vhs.

    Je ne sais pas exactement ce que tu as cherché à faire en écrivant cette ligne, mais d’une manière ou d’une autre, il faudra que tu appelles ta fonction res_vhs à un moment :
    Je termine sur un petit agacement : les gens ont trop souvent tendance à penser que Google est la page d’accueil d’Internet. Personnellement je n’utilise pas Google, et je n’apprécierais pas tellement qu’un site m’ouvre une fenêtre dessus sans m’avoir demandé la permission avant…
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  4. #4
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Merci pour vos réponses. Celle de eleydetv m'a ouvert les yeux ; j'avais pas utilisé onload :
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function res_vhs()
    {
    	window.open("https://www.google.fr/","google","");
    }
    onload=res_vhs();

    Citation Envoyé par Watilin Voir le message
    Je termine sur un petit agacement : les gens ont trop souvent tendance à penser que Google est la page d’accueil d’Internet. Personnellement je n’utilise pas Google, et je n’apprécierais pas tellement qu’un site m’ouvre une fenêtre dessus sans m’avoir demandé la permission avant…
    ouvrir au démarrage n'est pas mon but ; je cherchais juste à mettre au point ma page en utilisant une URL très connue. Le but final est d'ouvrir au démarrage un flash info, qui sera régulièrement mis à jour.

  5. #5
    Membre chevronné
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arménie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Par défaut
    Bonjour,

    J'ajoute mon grain de sel (polémique?) au commentaire instructif de Watilin.

    La fonction window.open() permettait d'obtenir simplement une jolie fenêtre secondaire redimensionnable et repositionnable. Malheureusement, la possibilité de cacher la barre d'adresse a été supprimée il y a quelques années sur la plupart des navigateurs, rendant cette fenêtre peu élégante. Cette fonction a ainsi été remplacée par de nombreuses lignes de code.

    Le bilan, de mon point de vue : De gros fichiers encombrant inutilement les réseaux.

  6. #6
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par défaut
    Citation Envoyé par eleydet Voir le message
    Cette fonction a ainsi été remplacée par de nombreuses lignes de code.
    Je ne suis pas sûr de savoir de quoi tu parles. Est-ce que tu veux parler de ce joyeux écosystème de popup / popover / lightbox / modal / etc dont on mélange toujours les noms ? (Ce n’est pas ironique, moi-même je ne sais pas quel terme correspond à quoi.)

    Citation Envoyé par laurentSc Voir le message
    Merci pour vos réponses. Celle de eleydetv m'a ouvert les yeux ; j'avais pas utilisé onload :
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function res_vhs()
    {
    	window.open("https://www.google.fr/","google","");
    }
    onload=res_vhs();
    Attention il y a un piège : quand tu passes une fonction à onload, tu dois passer sa référence, autrement dit son nom sans les parenthèses. Sinon elle est appelée à l’exécution du script, et c’est le résultat de l’appel à res_vhs() qui est affecté à onload (en l’occurence, undefined car il n’y a pas d’instruction return).

    Donc la bonne façon de faire est :
    Alternativement, tu peux utiliser un gestionnaire d’évènement. Je mets ça à titre informatif :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.addEventListener("load", res_vhs);
    Considère aussi l’emploi de DOMContentLoaded au lieu de load.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  7. #7
    Membre chevronné
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arménie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Par défaut
    Rebonjour,

    En cliquant sur un bouton (par exemple), on veut obtenir une fenêtre secondaire redimensionnable et repositionnable, pour afficher une aide (par exemple). Beaucoup de développeurs n'utiliseront pas window.open() à cause de la présentation franchement peu élégante. Ils préfèreront, à la place, une solution volumineuse en lignes de code.

  8. #8
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par défaut
    À base de HTML donc, si j’ai bien compris.

    Effectivement ça permet aux graphistes de travailler, là où une fenêtre ouverte par open ne permet rien du tout. Mais d’un point de vue accessibilité, on voit souvent des solutions qui ne sont pas du tout satisfaisantes. Personnellement, je questionne l’utilité même de open et des solutions de remplacement. Un lien avec un attribut target="_blank" est ce qui donne le plus de contrôle à l’utilisateur.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

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

Discussions similaires

  1. [Cookies] Ouvrir une session sur un autre site
    Par eraim dans le forum Langage
    Réponses: 1
    Dernier message: 05/09/2006, 15h33
  2. [Système] Ouvrir une URL
    Par benthebest dans le forum Langage
    Réponses: 37
    Dernier message: 27/08/2006, 23h41
  3. [ASP] Ouvrir une url
    Par castaka dans le forum ASP
    Réponses: 2
    Dernier message: 04/08/2005, 11h02
  4. Ouvrir une URL en C/C++ sous Win32
    Par pykoon dans le forum MFC
    Réponses: 7
    Dernier message: 26/04/2005, 09h08

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