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
                  1 sur 2 < >

                  C'est [Réglé] et on n'en parle plus ?

                  A quoi ça sert ?
                  La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                  Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                  Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                  Comment ajouter la mention [Réglé] à votre discussion ?
                  1 - Aller sur votre discussion et éditer votre premier message :


                  2 - Cliquer sur la liste déroulante Préfixe.

                  3 - Choisir le préfixe [Réglé].


                  4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                  2 sur 2 < >

                  Assistance au forum - Outil de publication d'infos de votre site

                  Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                  Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                  Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                  UTILISER À VOS PROPRES RISQUES :
                  L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                  Problèmes connus :
                  FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                  Installation :

                  1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                  Archive zip : https://github.com/AFUJ/FPA/zipball/master

                  2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                  3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                  4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                  5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                  6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                  et remplacer www. votresite .com par votre nom de domaine


                  Exemples:
                  Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                  Télécharger le script fpa-fr.php dans: /public_html/
                  Pour executer le script: http://www..com/fpa-fr.php

                  Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                  Télécharger le script fpa-fr.php dans: /public_html/cms/
                  Pour executer le script: http://www..com/cms/fpa-fr.php

                  En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                  Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                  Voir plus
                  Voir moins

                  Partenaire de l'association

                  Réduire

                  Hébergeur Web PlanetHoster
                  Travaille ...
                  X