2009-09-09 10 views
0

J'ai un problème qui semble apparaître dans Firefox 3.5.2. Lorsque je regarde la page, il semble trouver, puis un clic sur l'un des liens sur la page, puis revenir à la page soit en utilisant le bouton Précédent ou en cliquant sur un lien sur la page suivante qui revient à la première page. (Si cela a du sens). J'utilise firebug quand je retourne à la première page et il y a du code html supplémentaire. Je me demande s'il est possible que Firefox soit ajouté quelque part ou si je devrais regarder mon code php.Firefox 3.5 code de duplication

Malheureusement pour un projet d'entreprise, je ne peux pas publier le code ici. Je vais essayer d'anonymiser le code, mais j'espérais que si quelqu'un d'autre avait le même problème, il pourrait faire la lumière sur le problème.

Remarque: le code supplémentaire disparaît lorsque j'actualise la page. Cela n'arrive que lorsque vous venez d'une autre page. cela pourrait-il être un problème de capture avec firefox? MISE À JOUR: J'ai découvert que je chargeais jQuery dans l'en-tête. Je ne sais pas ce que cela faisait, mais maintenant la page «panique», peu importe quoi.

C'est ce que le code doit être:

<div class="extranetFlag"> 
<a href="?c=4" style="text-decoration: none;"> 
<div class="extranetFlagFrame"><img border="0" alt="Bangladesh" src="/resources/flags/Bangladesh.png"/></div> 
<!--[if lte IE 7]><br /><![endif]--> 
<div class="caption">Bangladesh</div> 
</a> 
</div> 

Après mutation:

<div class="extranetFlag"> 
<a href="?c=3" style="text-decoration: none;"> 
</a><div class="extranetFlagFrame"><a href="?c=3" style="text-decoration: none;"><img border="0" alt="Belgium" src="/resources/flags/Belgium.png"/></a></div> 
<a href="?c=3" style="text-decoration: none;"> <!--[if lte IE 7]><br /><![endif]--> 
</a><div class="caption"><a href="?c=3" style="text-decoration: none;">Belgium</a> </div> 
<a href="?c=3" style="text-decoration: none;"> </a> 
</div> 

J'ai vérifié le cap à l'aide du panneau net Firebug et ce n'est pas le codage étant envoyé au navigateur .

+0

Essayez de désactiver tous vos plugins et de voir si cela se produit encore – Greg

+0

pas de chance avec les plugins désactivés. Mais quand j'ai désactivé JavaScript, ça a empiré. Je vais regarder ça. – Samuel

Répondre

0

Je pense que le problème était d'avoir un div (élément de bloc) à l'intérieur d'une ancre (en ligne). Firefox semblait fermer la balise d'ancrage dès qu'elle semblait diver, causant ainsi des problèmes.

C'est assez moche mais j'ai fini par utiliser css pour cibler les éléments supplémentaires que Firefox a créés afin qu'ils soient identiques (lire: assez proche) dans tous les navigateurs.

C'était un projet pour mon travail et je suis maintenant passé à autre chose. si je devais refaire les choses, j'éviterais cela comme la peste.

0

Vous pouvez utiliser NetPanel (ou Fiddler) de Firebug pour voir ce qui se passe sur le câble pour éliminer cette cause. Vous devriez voir ce que les gestionnaires d'événements déclenchent au chargement de la page et voir si ceux-ci sont problématiques.

+0

Quand j'ai le panneau net de Firebug le site ne casse pas le site. – Samuel

0

Je ne connais pas la réponse, mais voici quelques idées pour vous aider à diagnostiquer le problème ...

Il ressemble à un code de langue ou le pays est en train de changer du Bangladesh en Belgique, ce qui me fait penser à la la page est récupérée du serveur avec un contexte différent lorsque vous revenez. Peut-être qu'il y a une différence dans un cookie? Ou l'état de session n'est pas suivi correctement, ou la visite de la deuxième page modifie l'état de la session, ce qui affecte la réexpédition de la première page? Essayez de regarder les journaux du serveur pour voir si le serveur envoie la page sur 'arrière', et voir s'il y a des changements à l'URL de la demande, les paramètres de publication, les cookies, etc. la deuxième fois (vous pourriez avoir besoin pour ajouter temporairement une journalisation détaillée sur le serveur).

Vérifiez également si cela se produit dans un navigateur autre que Firefox.

0

Lorsque je colle votre code exact ci-dessus dans une page de test, je ne vois pas la duplication dans Firefox. Toutefois, si je change la dernière balise de ceci:

</a> 

A cette (balise de fermeture incorrecte):

<a/> 

Je vois exactement la même double emploi que vous voyez sur votre page réelle. Êtes-vous sûr que le balisage sur votre vraie page est correct?

Questions connexes