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

jQuery Discussion :

Fancybox nouvel Onglet


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2014
    Messages : 31
    Par défaut Fancybox nouvel Onglet
    Bonjour à toutes et à tous,

    J'utilise actuellement le plugin "Fancybox" qui est un plugin Jquery permettant d'afficher une page "par dessus" une autre. Cette nouvelle page utilise donc les mêmes fichiers que la page d'en "dessous" (CSS etc...).

    Mon problème vient du fait que si j'ouvre mon lien dans un nouvel onglet (via clic droit ou clic + molette ) qui normalement doit s'ouvrir en fancybox, vu qu'il s'ouvre dans un autre onglet, la page est dépourvu de CSS, de JS etc...

    Du coup si cette page est par exemple alimenté en ajax rien ne fonctionne.

    J'ai vu quelque fois que le fait d'ouvrir dans un nouvel onglet amène sur une page about:blank qui n'affiche rien, c'est donc ce que j'aimerai faire pour éviter d'ouvrir le contenu de la fancybox dans un autre onglet.

    Je vous remercie !

  2. #2
    Membre très actif
    Avatar de la.lune
    Homme Profil pro
    Directeur Technique
    Inscrit en
    Décembre 2010
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Comores

    Informations professionnelles :
    Activité : Directeur Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 548
    Par défaut
    La logique de Fancybox n'est pas de donner tout une page entière à moins de l’introduire dans un iframe, c'est une image ou un div contenant le contenu à afficher ou comme j'ai dis un iframe, et là c'est tout un contexte.
    La question est la suivante que ce que tu met dans la propriété href, il faut les lier à la page en cours, ainsi même si tu clique pour ouvrir dans un nouvel onglet alors en fournissant par exemple
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#lien1"> Clique moi</a>
    du coup même si tu clique sur le lien pour l'ouvrir dans un nouvel onglet, la page encours ira avec.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2014
    Messages : 31
    Par défaut
    Bonjour,

    Merci de ta réponse.

    Pourtant on m'a conseillé de mettre href="about:blank"

    Du coup si on ouvre dans un nouvel onglet on a une page blanche, ça me vas.

    Par contre si on clique normalement dessus, ça affiche la fancybox, donc ça va chercher le lien qui se trouve par exemple dans data-lien-fancybox.

    Mais je ne vois pas où paramétrer fancybox pour permettre cela.

  4. #4
    Membre émérite Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Par défaut
    Salut,

    j'ai beau relire, je ne comprend pas vraiment ce que tu veux faire ...

    Empêcher d'ouvrir la fancybox dans un nouvel onglet ?
    Ou pouvoir l'ouvrir dans un nouvel onglet ?

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2014
    Messages : 31
    Par défaut
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    $('.iframe-ajax').live("click", function (e) {    
     
            // Supréssion de l'évenement par defaut
            e.preventDefault();
            var page = "";
            $.ajax({
                type : "GET",
                async: false,
                url : $(this).attr("dataset"),
                success: function (data){ 
                    page = data;
                    $.fancybox.showLoading();
                },
                complete: function () {
                    $.fancybox({ 
                        content : page,
                        padding : '10px',
                        autoSize : true,
                        autoResize : true,
                        autoCenter : true,
                        transitionIn : 'fade',
                        transitionOut : 'fade',
                        centerOnScroll : true,
                        autoCenter : true,
                        autoResize : true
                    });
                    $.fancybox.hideLoading();
                }
            });  
        });
    J'ai résolu le problème

    Dans mes liens href j'ai mis un about:blank ( pour afficher une page blanche si on l'ouvre en nouvel onglet ) et j'ai mis l'attribut dataset="monlien" pour que je puisse le récupérer en js et afficher ma fancybox uniquement si je clique normalement ^^

  6. #6
    Membre chevronné Avatar de freddou17
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2013
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 341
    Par défaut
    Slt,

    Je remplacerais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#lien1"> Clique moi</a>
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <a href="#" onclcik="maFonction()"> Clique moi</a>
     ou 
    <a href="about:blank"" onclcik="maFonction()"> Clique moi</a> (à toi de voir)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <script>
    function maFunction(){
    		$.ajax({
    			url : "url",
    			cache : false,...
    		}).done(function(xhr) {
    			$.fancybox(xhr)
    		});
    	}
    }
    </script>
    De cette manière tu ne modifie que le bouton gauche de la souris

    en espérant avoir bien compris ton problème
    ++

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

Discussions similaires

  1. ouvrir une page web dans un nouvel onglet
    Par krokmitaine dans le forum Web & réseau
    Réponses: 8
    Dernier message: 05/08/2008, 17h20
  2. Créer un nouvel onglet à partir d'une liste déroulante
    Par valouche dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 02/06/2007, 11h26
  3. Ouvrir une page dans une nouvelle fenêtre ou un nouvel onglet
    Par coco38 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 15
    Dernier message: 29/05/2007, 10h11
  4. Comment éviter l'ouverture d'une fenêtre dans un nouvel onglet ?
    Par AhawF6co dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 14/02/2007, 15h53
  5. Réponses: 2
    Dernier message: 05/02/2006, 18h06

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