Je crée un système de bouton de publicité très simple utilisant ASP.NET 2.0Pourquoi mon lien hypertexte ASP.NET ne fonctionnera-t-il pas dans IE?
La publicité est un carré de 150x150px qui est affiché sur **.
(Faites défiler vers le bas un peu et vous verrez le vert "Angry Octopus" sur le côté droit de l'écran.)
Maintenant, je ne suis pas l'administrateur de **. Au lieu de cela, je suis l'administrateur de angryoctopus.net
Par conséquent, je n'ai pas la possibilité de modifier le code d'affichage de l'annonce sur un coup de tête. J'ai donc donné ** ce bout de code pour afficher notre annonce bien, tout en me permettant de personnaliser le code back-end de mon côté des choses:
<iframe src="http://www.angryoctopus.net/Content/Ad/150x150.aspx"
frameborder="0" width="150" height="150" scrolling="no"
style="padding: 0; margin: 0;"></iframe>
Vous trouverez cet extrait dans la source de page **
de mon côté, le code ressemble à ceci:
<%--150x150.aspx--%>
<asp:HyperLink runat="server" NavigateUrl="http://www.angryoctopus.net/" Target="_top">
<asp:Panel ID="pnlMain" runat="server" BackColor="#D1E231"
style="padding: 0; margin: 0" Width="150" Height="150">
<asp:Image runat="server" ImageUrl="http://www.angryoctopus.net/Content/Ad/150x150.png"
BorderStyle="None" style="padding: 0; margin: 0" />
</asp:Panel>
</asp:HyperLink>
... et il y a un certain arrière-plan du code C# insignifiant pour délit de comptage.
D'après ce que je peux dire, cela semble très bien du point de vue du code. Tout fonctionne dans Firefox et Chrome. En outre, tout semble fonctionner dans IE8 in all of my tests. Je n'ai pas testé IE7. Mais lorsque vous affichez ** dans IE (8) le lien hypertexte ne fait rien, et le curseur n'indique pas que le lien hypertexte est encore là. Bien que vous puissiez voir l'URL cible dans la barre d'état.
J'ai considéré le fait que ** utilise XHTML 1.0 Strict pourrait causer des problèmes, mais cela affecterait probablement Firefox et Chrome non? (Mes pages aspx utilisent XHTML 1.0 Transitional)
Ma seule autre théorie est qu'une classe CSS aléatoire pourrait appliquer un attribut bizarre à mon iframe, mais encore une fois je pense que cela affecterait Firefox et Chrome.
Est-ce un problème de sécurité avec IE? Est-ce que quelqu'un sait quelle partie du site Web de ** pourrait bloquer l'hyperlien dans IE? Et comment puis-je contourner cela sans avoir à coder dur sur le site Web de **? Existe-t-il une alternative à iframe qui ferait le même travail sans nécessiter de script compliqué?
Etrangement, vous pouvez cliquer droit et choisir d'ouvrir le lien, et cela fonctionne très bien. La refonte de votre mécanisme d'affichage est-elle acceptable? À savoir, il n'y a pas besoin d'avoir la combinaison particulière de contrôles serveur que vous avez. – JustLoren
@JustLoren: Je suis d'accord pour refaire mon mécanisme d'affichage, tant que j'ai toujours le contrôle de l'image et le lien hypertexte du code C#. Pouvez-vous me donner un exemple d'alternative fonctionnelle? – Giffyguy
On dirait que Dan l'a eu en bas :) – JustLoren