2009-03-06 7 views
4

Nous sommes confrontés à un problème étrange dans IE6. La page fonctionne très bien dans Firefox et IE7.IE6 ancre cliquez déplace l'iframe

Nous avons une page qui a un div et un iframe dans ce div Exemple:

<html> 
<body> 
... 
<div> 
    <iframe src="page.aspx" /> 
</div> 
</body> 
</html> 

Supposons maintenant page.aspx a ce code:

<html> 
<body> 
.. 
<a href="#" onclick="alert('just an alert');">click me</a> 
</body> 
</html> 

Maintenant, si l'utilisateur clique sur le lien "cliquez sur moi" puis l'iframe se déplace! Voici une description du comportement:

Avant de cliquer sur le lien

http://i42.tinypic.com/11qpwr6.jpg

Après avoir cliqué sur le lien

http://i43.tinypic.com/2i8uds8.jpg

Il semble que rien de le code écrit par nous cause un problème, comme la seule chose qui arrive Lorsque l'utilisateur clique sur le lien «cliquez sur moi» pour afficher une boîte d'alerte.

Quelqu'un at-il fait face à un problème similaire? Des pointeurs sur la façon de résoudre ce problème? PS: Il est difficile pour moi de reproduire le problème avec un exemple simple.

Répondre

0

Ce serait bien si vous pouviez mettre en place une démo très simple de cela sur le web public quelque part. Si vous faisiez cela, nous pourrions jouer un peu avec et voir ce qui se passe.

+0

Il est difficile pour moi de reproduire le problème avec un exemple simple. – Ngm

+0

bien je ne peux pas commenter sur votre solution (je n'ai pas assez de points) mais je suis content que vous l'ayez résolu. –

1

Ok, si l'on ajoute la propriété largeur à l'iframe le problème disaapears

+0

Pas pour moi. La chose folle est que cela dépend du lien sur lequel je clique. J'ai un menu avec des ancres et j'ai réussi onClick() sur chaque ancre pour charger le 'iframe' avec cette URL. Une seule url déplace le 'iframe' en haut à gauche de la page. Donc, je soupçonne que le HTML chargé dans le 'iframe' a quelque chose à voir avec ça. – Sebastian

+0

Mes suspects avaient raison. J'ai vérifié le code source de la page qui rencontrait des problèmes. La page qui a déplacé le 'iframe' en haut à gauche de ma page a un script qui maximise la fenêtre. Des idées pour éviter cela? – Sebastian

2

Avez-vous essayez d'ajouter un return false;? Il est nécessaire d'éviter le comportement par défaut de l'ancre.

<a href="#" onclick="alert('just an alert');return false;">click me</a> 
+0

fantastique! vous n'avez aucune idée de l'utilité de votre message :-) ... merci – MaYaN