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

HTML Discussion :

Ouverture d'un popup d'avertissement


Sujet :

HTML

  1. #1
    Membre averti
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Janvier 2024
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Janvier 2024
    Messages : 159
    Par défaut Ouverture d'un popup d'avertissement
    bonjour
    j'ai un lien sur ma page et j'aimerais qu'au clic s'ouvre un popup ou quelque chose de ce genre avec un avertissement, puis que cette "chose" cède la main au lien après quelques secondes.

    Je n'ai pas la moindre idée de la façon dont ça peut se faire.
    Merci pour toute indication

  2. #2
    Invité de passage
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2013
    Messages : 36
    Par défaut
    Bonjour, ce que vous souhaitez c'est une modale, faite une recherche sur ce terme. Il en existe full CSS ou avec du JavaScript.

    En HTML il existe le popover voir https://developer.mozilla.org/fr/doc...ibutes/popover

    Si il y a une notion de timer qui doit intervenir c'est en JS. Cette notion n'existe pas en HTML.

    [Édit] https://jolicode.com/blog/une-fenetre-modale-accessible
    https://www.accede-web.com/notices/i...etres-modales/

  3. #3
    Membre averti
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Janvier 2024
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Janvier 2024
    Messages : 159
    Par défaut
    Ok e vais aller voir

    Ceci n'est-il pas un timer

    <meta http-equiv="refresh" content="0;

    Je l'utilise pour ouvrir immédiatement un autre fichier, mais content est une valeur en seconde si je me souviens bien

  4. #4
    Invité de passage
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2013
    Messages : 36
    Par défaut
    Bonjour, j'avais oublié cette balise que je n'utilise pas (j'utilise les redirections en PHP). Oui la valeur de content est bien un temps en seconde.
    Mais pourquoi faire charger une page au client si c'est pour recharger une autre immédiatement (à zéro seconde après le chargement), autant rediriger vers la bonne ressource immédiatement. Cela accélère le chargement de page en limitant la consommation de données transmises et le nombre de connexion http.

    Il y à plusieurs inconvénients en plus de ceux déjà cités :
    • Il n'y a pas de possibilité de choisir une condition autre que le chargement de page (évènement load)
    • L'utilisateur ne peut agir sur ce "timer", il le subit, il ne peut être déclenché sur action de l'utilisateur .
    • Cela engendre des problèmes d'accessibilité tel que décrit dans la doc MDN.

  5. #5
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 507
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 507
    Par défaut
    sinon, pourquoi ne pas utiliser l'element HTML dialog prevu a cet effet ? developer.mozilla.org/fr/docs/Web/HTML/Reference/Elements/dialog

    tu peux, en JS l'ouvrir avec showModal() et la fermer avec close(), le tout couple avec un setTimeout() devrait faire l'affaire
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  6. #6
    Membre chevronné
    Homme Profil pro
    web a11y
    Inscrit en
    Avril 2014
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : web a11y
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2014
    Messages : 194
    Par défaut
    Note : si on prend en compte l'accessibilité, il ne doit pas y avoir de timeout, ou alors contrôlable par l'utilisateur.
    Au passage, la modale doit rester étanche à la navigation (cliquer ailleurs ne fait rien, et on ne peut pas tabuler en dehors).

  7. #7
    Membre averti
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Janvier 2024
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Janvier 2024
    Messages : 159
    Par défaut
    En fait cette redirection est une scorie. C'est le fichier index ! J'en profite pour y écrire les modifications apportés au site (sorte de journal de bord) comme "personne" ne peut le lire ça reste privé !
    Il redirige vers un autre qui est ma vraie page d'accueil.
    Je l'ai laissé par flemme pour ne pas changer des noms de fichiers dans des liens qui datent de mes premiers balbutiements en html.

    Doksuri

    sinon, pourquoi ne pas utiliser l'element HTML dialog prevu a cet effet ?
    Je n'ai rien contre !! Je n'ai aucune idée de la façon dont m'y prendre donc pourquoi pas "dialog".
    Cela étant <dialog> m'a l'air d'être vraiment un boîte de dialogue (du moins tous les exemples que je lis) et ce n'est pas exactement ce que je souhaite.
    Je voudrais avoir un lien <a> normal (dans la pratique un texte) mais qui ouvre un modale quand on y clique puis au moment du close() active le lien.
    Le timer est accessoire; un clic sur un "fermer/close" me va aussi.
    Vraiment un avertissement avant ouverture du lien. du genre "cette vidéo est interdite aux mineurs !" (je vous rassure ce n'est pas le cas du tout !

    JS me fait peur car je n'ai jamais pratiqué cette chose. J'ai déjà été obligé d'apprendre le html/css, le php, le sql ...
    Je serai peut-être obligé de me mettre à java mais pour le moment j'aimerais rester dans des langues que je baragouine un petit peu !
    Cela dis si vous avez des copier/coller à me proposer...

  8. #8
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 507
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 507
    Par défaut
    exemple le plus basique
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#">lien pour adultes</a>
    Code javascript : 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
    function showWarning(url) {
        const dialog = document.createElement('dialog');
        document.body.append(dialog);
     
        const msg = document.createElement('div');
        msg.textContent = `attention, c'est pour adultes !`;
        dialog.append(msg);
     
        const btnCancel = document.createElement('button');
        btnCancel.textContent = 'cancel';
        dialog.append(btnCancel);
     
        const btnConfirm = document.createElement('button');
        btnConfirm.textContent = 'go !';
        dialog.append(btnConfirm);
     
        dialog.showModal();
        btnCancel.addEventListener('click', () => {
            dialog.remove();
        }, {once: true});
     
        btnConfirm.addEventListener('click', () => {
            dialog.remove();
            open(url, '_self');
        }, {once: true});
    }
     
    document.querySelectorAll('a').forEach(link => {
        link.addEventListener('pointerdown', e => {
            e.preventDefault();
            showWarning(link.href);
        });
    });
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  9. #9
    Membre averti
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Janvier 2024
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Janvier 2024
    Messages : 159
    Par défaut
    merci
    je vais essayer de mettre ça en oeuvre
    en fait c'est pour un lien vers music-apple amazon music ou autre youtube histoire de rappeler que
    "Les groupes ont besoin de vous pour vivre !
    Si vous aimez leur musique, achetez-la !"

    ou un truc du genre

    Quand j'aurai un petit moment il faudra peut-être que je me mette à java. Il y a peut-être des choses intéressantes pour mon très modeste usage

  10. #10
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 507
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 507
    Par défaut
    Citation Envoyé par noradan Voir le message
    Quand j'aurai un petit moment il faudra peut-être que je me mette à java.
    attention : java != javascript
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

Discussions similaires

  1. ouverture d'une popup grâce à un lien
    Par chti_juanito dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 28/04/2006, 16h04
  2. Rechargement d'une page après ouverture de deux popups
    Par petitmoosse dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/11/2005, 17h39
  3. [ouverture d'un popup dans une iframe]
    Par Lady_jade dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 21/10/2005, 18h51
  4. peut on mettre 1 variable ds la fonct° ouverture d'1 popup?
    Par zorba49 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/07/2005, 13h24
  5. perte de son du swf à l'ouverture dans un popup
    Par carlito dans le forum Flash
    Réponses: 6
    Dernier message: 02/01/2004, 18h31

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