Corriger le comportement anormal de IE6

Résolu
Bonjour,
Je "travaille" mon website et j'observe un comportement curieux de IE 6 lorsque je teste le site

Chaque page est constituée de deux frames, une à gauche qui est le sommaire de renvoi vers les différentes pages
Une à droite qui est la page elle-même
La redirection d'une page vers une autre se fait pas un lien de teneur :
<A HREF="VDG.html"TARGET=_TOP>VirtualDub : montage vidéo</A><BR>
VDG.html étant le fichier décrivant les deux frames

Lors du 1° clic sur un lien, IE6 ouvre une nouvelle fenêtre, ce que je voudrais éviter
Lors des clics suivants, comportement normal, IE reste sur la même fenêtre

Bien entendu, le même test pratiqué avec Firefox n'ouvre pas un nouvel onglet ni une nouvelle fenêtre, ni au 1° clic, ni aux suivants.

Comment puis-je corriger (en HTML) ce comportement anormal de IE ?

Merci
Configuration: Windows 2000
Firefox 1.5.0.9

10 réponses

  1. Salut lakebarzh,

    Je ne sais pas comment tu as défini ton frameset.

    Il faut donner un nom au 'cadre de droite' ici exe (c'est en gras)

    <frameset cols="160,*">
    <frame src="menu_adm_dis.html" name="menu" >
    <frame src="blank.php" name="exe" >
    </frameset>

    Ensuite les liens dans le cadre de gauche devraient être de cette forme.

    <a href="../stat.php?cmd=stat" target="exe">Statistiques</a>

    Note le target="exe"

    Et ca devrait marcher sur les deux IE et Fire ce qui est je l'avoue toujours une bonne surprise.

    (J'ajoute que si tu as l'intention de faire référencer des pages construites avec des cadres, intéresse toi dès à présent à cet aspect du problème)
    0
    1. Bonjour, merci et tout ça,

      ton info m'est précieuse
      Je la met en action aussitot que possible et je te rend compte ici

      Merci
      0
      1. Bon, je viens au compte-rendu

        Mes frames étaient définies par
        <FRAMESET COLS="15%,*">
        <FRAME NAME="idG" SRC="indexG.html">
        <FRAME NAME="idD" SRC="S9.html">
        <NOFRAMES>

        1° le TARGET=_TOP était là pour que les frames ne se superposent pas
        2° en utilisant ta méthode, elles se superposent
        deux cadres dans la page initiale, 3 dans la suivante...
        Le problème reste entier

        PS : pour le référencement, je ne m'en préoccupe pas, viens sur mon site qui veut et je suis un ennemi déclaré de la pub

        Je suis littéralement suspendu à ta réponse

        Merci
        0
        1. Faut nommer tes frames et ensuite, pour chaque lien, il faut cibler le frame: target="nom_frame"

          Eviter les majuscules, surtout en début de nom, IE n'aime pas :-)
          0
          1. Laisse tomber le top.

            Il me semble pourtant qu'on fait la même chose.
            Tes cadres s'appellent NAME="idG" et idD et les miens 'menu' et 'exe'

            Problèmes de majuscules (King) ?
            +1 il vaut mieux éviter. Essaie..

            Mais un click sur un lien du type

            <a href="page.php" target="idD">Ma Page</a>

            placé dans le cadre gauche devrait afficher la page.php dans le droit idD ??
            0
            1. Merci

              tu m'effraie beaucoup quand tu indiques des fichiers avec extension PHP (que je ne connais pas)

              Tout ça, c'est uniquement du HTML

              Et si je n'ai pas le TARGET=_TOP,
              j'ai A TOUT COUP les frames qui se "chevauchent"

              La copie d'écran du résultat de la suppression de _TOP est ici
              http://mistervideo.free.fr/STOCK/TMP/frame1.jpg

              ??
              0
          2. PS : pour le référencement, pour moi c'est plutôt 'viens sur mon site qui me trouve'.
            0
            1. html ou php sur ce coup là c'est pareil.

              J'ai cherché 'cadre html' dans Google et je suis tombé là dessus.

              h**p://fr.selfhtml.org/html/frames/definir.htm

              Tu descends un peu dans la page et tu cherches ce titre là.
              'Définition de cadres à un jeu de cadres'

              C'est exactement ce que tu veux faire non ?
              Il y a un aperçu de la page en 'live'. Ca devrait t'aider.
              0
              1. me viens une idée. Ce serait pas la dtd qui manquerait ?

                Essaie de mettre ca avant la balise HTML
                <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">

                ou bien celle qui est dans l'exemple du site. Celle de dessus c'est la mienne c'est Dream qui l'a mise en fait.
                0
                1. Bonsoir

                  la DTD, ça je connais, j'avais travaillé le truc il y a de cela un an

                  J'utilise WebExpert pour créer mes pages et il fait cela tout seul, comme un grand et écrit automatiquement
                  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">

                  Bon, j'ai de quoi bosser, mais, en dernier recours, je laisserai comme à l'origine et si le IE du visiteur ouvre une autre session, qu'il l'ouvre

                  Mon existence n'est pas vouée à corriger les non-conformités d'un logiciel dont les travers font parties du domaine public

                  Je te remercie en tout cas du mal que tu t'es donné, c'est beaucoup plus important (à mes yeux) qu'un éventuel résultat

                  Merci

                  je pense que je peux clôturer le fil
                  0
              2. Bonjour,

                On va quand même pas s'enfuir devant un frameset.

                Le site en question c'est celui là ?
                h**p://mistervideo.free.fr

                Si c'est celui là, je pense que le </frameset> n'est pas à la bonne place

                <FRAMESET COLS="15%,*">
                <FRAME NAME="idG" SRC="indexG.html">
                <FRAME NAME="idD" SRC="indexD.html">
                </FRAMESET> Je le mettrais là moi
                <NOFRAMES>
                <BODY>

                </BODY>
                </NOFRAMES>
                </HTML>
                0
                1. Bon,
                  j'ai fait comme tu as dit
                  dans la frame appelante
                  Dans la frame appelée

                  Pas de changement

                  dans le lien appelant si j'écris
                  <A HREF="glossaireG.html" TARGET=_TOP>Lexique</A>
                  il y a ouverture d'une autre session (c'est comme ça qu'on dit quand IE s'ouvre de nouveau)

                  si j'écris
                  <A HREF="glossaireG.html" TARGET="nom_frame">Lexique</A>
                  Pas de nouvelle session, mais les frames se superposent

                  Y a-t-il moyen d'écrire deux parametres dans TARGET ?
                  Le nom de la frame et _TOP

                  Merci
                  0
              3. Ca marche là vu de chez moi. IE6 et fire

                Il y a pas mal de liens brisés au niveau du menu de gauche.

                Mais ceux qui sont en place fonctionnent correctement 'en frameset'.

                ------------------
                Pour les liens brisés fait attention au majuscules / minuscules.
                Ca peut marcher en local sous windows car windows s'en fiche.

                Mais sur la cicle si c'est unix / apache, il ne s'en fiche pas.
                -----------------
                0
                1. Ca marche là vu de chez moi. IE6 et fire
                  Alors c'est mon IE qui déconne
                  Je vais (peut-être) m'en occuper

                  Il y a pas mal de liens brisés au niveau du menu de gauche.
                  Non, tout simplement les pages ne sont pas encore chargées, je suis un laborieux, ça me prend pas mal de temps

                  Pour les liens brisés fait attention au majuscules / minuscules.
                  Mais sur la cicle si c'est unix / apache, il ne s'en fiche pas.


                  Curieux : j'avais mémorisé que Unix/Linux ne distinguait pas minuscules/majuscules, raison de leur absence d'importance dans les adresses e-mail lakebarzh=Lakebarzh

                  Cette fois, c'est résolu

                  Merci plein de fois, ton aide m'a été précieuse
                  0
                2. @Utilisateur anonymeUnix/Linux n'a rien à voir avec la casse dans les adresses emails. c'est la RFC822 qui définit que les adresses emails sont sensibles à la casse
                  0