Partage
  • Partager sur Facebook
  • Partager sur Twitter

problème de pop-up

quand je veux ouvrire un lien

Sujet résolu
    11 janvier 2009 à 15:13:53

    Bonjour à tous

    Je ne connait pas grand au javascript et c'est pour cela que je viens vous demander votre aide(j'ai fait le debut du tuto fait par jose2 et le tuto sur les pop-up) :

    Voilà j'ouvre une pop-up et dedans je mets une page php mais dans cette page, il y a des liens, des formulaires(une page normale quoi!) et je voudrais que ces liens, ces formulaires s'ouvrent dans la page principale

    Voilà merci d'avance de votre aide

    ps:si vous avez besoin de code demandez mais là je ne vois pas quels codes je pourrais mettre
    • Partager sur Facebook
    • Partager sur Twitter
      11 janvier 2009 à 16:50:09

      Salut :)

      Remplace tous tes liens par :

      <a href="http://www.monsite.com" onclick="javascript:opener.window.location.href = this.href;return false;">Aller sur Monsite.com</a>
      


      Je spécifie ici l'attribut href dans la balise a, car si la personne n'autorise pas l'accès à JavaScript, elle n'ira nulle part ;)
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        11 janvier 2009 à 16:53:08

        <a href="http://www.monsite.com" onclick="opener.window.location.href = this.href;">Aller sur Monsite.com</a>
        


        il ne faut pas mettre le préfixe javascript:. Jamais.
        et il vaudrait mieux passer par une fonction et modifier tous les liens par javascript directement sans passer par du texte en dur dans le html.
        • Partager sur Facebook
        • Partager sur Twitter
          12 janvier 2009 à 21:14:16

          Citation : nod_

          il ne faut pas mettre le préfixe javascript:. Jamais.



          Pourquoi ?
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            12 janvier 2009 à 21:24:56

            dans un href: ça correspond à un protocole (ftp:, news:, http:, https:, javascript: !?) qui n'existe pas. rien a faire dans le href.

            dans le onclick et co., à moins que tu fasses du VB (donc un truc microsoft-only et pas du web), le language de script c'est javascript et c'est pas prêt de changer.
            • Partager sur Facebook
            • Partager sur Twitter
              13 janvier 2009 à 20:02:27

              C'est donc ça la raison ? Dans ce cas, autant mettre javascript:.

              Si on met du VB dans notre page, on peut s'emmêler les pinceaux.

              Tu dis que javascript: peut être pris pour un protocole dans l'attribut href. Avant de dire ça, vérifie ce que tu dis. Essaye d'enlever javascript:, tu verras bien :

              <script type="text/javascript">
              <!--
              	function test()
              	{
              		alert('test');
              	}
              //-->
              </script>
              <a href="test();">test</a>
              


              Ce que me retourne Firefox :

              Citation : Navigateur Mozilla Firefox

              Fichier introuvable
              Firefox ne peut trouver le fichier à l'adresse /C:/Documents and Settings/Propriétaire/Bureau/test();.



              Le préfixe javascript: est justement là pour dire qu'il s'agit de code javascript. Pourquoi mettre le préfixe dans les href et pas dans les onclick ? Autant mettre javascript: partout ;)
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                13 janvier 2009 à 22:02:47

                Ah ouais, c'est quoi la RFC du protocole javascript, einstein?
                javascript n'a RIEN à faire dans un attribut href. Les évènement onclick et onmousedown sont fait pour! lit tout ce que je dis.

                Les mauvaises pratiques entrainent du mauvais code. D'ailleurs qui code encore avec VB dans le monde réel?
                • Partager sur Facebook
                • Partager sur Twitter
                  14 janvier 2009 à 17:57:25

                  Certes, plus personne ne code en VB, tu marques un point. Cependant je ne comprends pas pourquoi tu dis que javascript: peut être pris pour un protocole. Si un navigateur est bien conçu, il ne confondra pas. Le préfixe javascript: est là pour dire qu'il y a du JavaScript, pas pour tromper le navigateur, les programmeurs y ont pensé. De plus, les protocoles sont suivis de 2 slashes. Et pourquoi mettre javascript: dans les événements sont une mauvaise habitude ? Là, tu ne peux pas dire que la navigateur peut croire que c'est un protocole, dans un événement il n'ouvre pas d'url.
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    14 janvier 2009 à 18:22:46

                    Alors, les navigateurs doivent implémenter des protocoles standards sinon c'est la merde: regarde IE6. Tu le dit toi même, un protocole c'est suivi de // normalement (et mailto:? t'inquiète pas c'est pas valide non plus même si ça marche). Un lien ça à une destination et un chemin. Il faut un protocole dans un lien (implicitement HTTP sur le web). Donc c'est un pseudo-protocole mal déclaré pour executer du code javascript qui n'a rien à faire dans l'attribut en question.

                    Si tu commences à faire "Maiiiss ouiiii mais ça marche bien, pourquoi on le ferrai pas? après tout <machin> l'a implémenter", on est pas sorti. Ce que t'arrives pas à intéger c'est que le JS n'as RIEN à faire dans l'attribut href d'un lien! RIEN RIEN RIEN. donc le problème ne se pose même pas en définitive.


                    Dans le onclick, tu es d'accord pour dire que VB c'est mort. Est-ce que dans tes script externe tu fais

                    javascript:alert("salut copain");
                    javascript:maFonction();
                    javascript:var i = 0;

                    Bon, donc il n'y a aucune raison de le faire dans un onclick. Faut être cohérent un peu. Après tu peux couper les cheuveux en 4 mais ça ne changeras rien. C'est comme ça.

                    PS: Tu surestime les programmeurs… Si javascript a d'aussi mauvais cotés c'est bien a cause des tocard qui se sont pris pour des bêtes en JS et qu'ils ont fait de la merde à grande échelle.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      14 janvier 2009 à 18:29:50

                      Alors pourquoi il n'existerait ce préfixe ? Il y a forcément une raison, il a pas été créé dans le vent ...
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        14 janvier 2009 à 19:01:12

                        VB/JS

                        Un est mort. Son cadavre pue encore jusqu'a maintenant. Je connais pas l'histoire mais j'aimerais bien. je suppose que c'est ie qui l'a introduit et netscape/mozilla a du le supporter pour pas tout niquer pour les utilisateurs
                        • Partager sur Facebook
                        • Partager sur Twitter

                        problème de pop-up

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                        • Editeur
                        • Markdown