JS : ouvrir une nouvelle fenêtre ?

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] JS : ouvrir une nouvelle fenêtre ?

    Bonjour,

    Je reprends une question que j'ai posée suite à un autre sujet, mais qui aura peut-être plus d'écho ici.

    En vue de tester avec des comptes spécifiques un site avant mise en service, 18 comptes de tests pour 18 groupes, j'ai cherché une extension permettant de se connecter directement comme l'utilisateur à tester. Skeletonkey https://github.com/akeeba/skeletonkey d'Akeeba a retenu mon attention. Gratuit, facile à tester donc.
    Une fois l'installation et le paramétrage faits, premier test. Zut, la page du site ne s'ouvre pas dans une nouvelle fenêtre mais dans la même, ce qui veut dire complications pour tester un autre compte.
    Je pose donc la question, Nicholas me répond que je n'ai qu'à ouvrir la page de liste dans une nouvelle fenêtre, ce qui ne fait que déplacer le problème en obligeant à rouvrir la liste dans une nouvelle fenêtre une fois le compte de l'utilisateur refermé. Sans évoquer ce déplacement de désagrément, je lui demande alors s'il ne serait pas plus pratique de faire comme avec le bouton d'ouverture du site depuis l'administration : ouvrir une nouvelle fenêtre. Il m'a envoyé promener en évoquant une question de sécurité et surtout en m'expliquant que je n'avais pas à lui apprendre son métier. J'ai déjà rencontré ce comportement par le passé...

    J'ai trouvé où l'adresse est générée, fichier media/plg_system_skeletonkey/js/backend.js

    Bien que je ne m'y connaisse pas en JS, j'ai regardé le fichier générant l'adresse de la page. La ligne concernée est

    Code:
    const uri = `${paths ? `${paths.base}/index.php` : window.location.pathname}?option=com_ajax&format=j son&plugin=skeletonkey&group=system&user_id=%d${to ken ? `&${token}=1` : ''}`;
    où %id est remplacé par l'identifiant de l'utilisateur.

    Code:
    Joomla.request({ url: uri.replace('%d', userId.toString()),
    Mais je ne sais pas comment modifier l'une de ces lignes pour que l'adresse générée soit ouverte dans une nouvelle fenêtre.

    Pouvez-vous me conseiller pour faire la modification qui m'arrangerait ?
    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

  • #2
    Bonsoir Robert,

    Essaie de remplacer la ligne 79 (window.location...) par window.open(paths.rootFull, '_blank');

    Pascal
    If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

    Commentaire


    • #3
      Merci Pascal,

      Hélas, ça ne change pas.
      "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
      MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

      Commentaire


      • #4
        Ton site est-il en mode debug ? le fichier backend.js n'est chargé que dans ce cas, sinon, c'est le fichier backend.min.js qui le sera...
        If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

        Commentaire


        • #5
          Pour info dans le fichier backend.min.js, il faut changer void(window.location=b.rootFull) par void(window.open(b.rootFull, '_blank'))

          Pascal
          If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

          Commentaire


          • #6
            En fait il semble que le fichier min.js prenne la pas.

            En remplaçant, en plus de ce que tu m'as conseillé dans backend.js "void(window.location=b.rootFull)" par "void(window.open(b.rootFull,'_blank'))" dans ce backend.min.js, Firefox me demande d'autoriser un pop-up et ouvre ensuite un nouvel onglet, ce qui correspond à ce que j'attendais.

            Je cherche toujours à comprendre pourquoi Nicholas met en avant un problème de sécurité, si j'ai bien compris ses réponses sur Github.

            Nos messages se sont croisés, j'avais trouvé tout seul !

            Merci Pascal !
            "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
            MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

            Commentaire


            • #7
              Envoyé par RobertG Voir le message
              En fait il semble que le fichier min.js prenne la pas.
              Si tu n'es pas en debug, c'est effectivement le cas.

              Bonne soirée,

              Pascal
              If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

              Commentaire


              • #8
                Note : je n'avais pas lu la réponse de Nicholas : circulez, vous êtes tous trop nuls sauf moi.....
                If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

                Commentaire


                • #9
                  Ce n'est pas la première fois que j'ai une telle réponse de sa part. C'est dommage car ce qu'il propose est du bon !
                  "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                  MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                  Commentaire

                  Annonce

                  Réduire
                  Aucune annonce pour le moment.

                  Partenaire de l'association

                  Réduire

                  Hébergeur Web PlanetHoster
                  Travaille ...
                  X