Das Klicken auf einen Anker in einem iFrame verhält sich in Firefox und Chrome anders

8

Ich habe den folgenden Code in jsBin: Ссылка

Es hat grundsätzlich einen Anker in einem iframe. Wenn Sie auf den Link klicken, sehen Sie, dass in Chrome nichts passiert, aber in Firefox wird er leer angezeigt.

Hier ist der gleiche Code in jsFiddle: Ссылка

JavaScript:

%Vor%

HTML:

%Vor%

In diesem Fall, wenn Sie Firefox verwenden, erstellt es einen anderen iframe innerhalb des vorhandenen iframes ... und macht es weiter ... wie 'Inception'. Aber derselbe Code funktioniert in Chrome gut.

Kann mir jemand sagen warum?

    
Gandalf 15.10.2013, 18:38
quelle

3 Antworten

1

Ja. Sie sollten href='javascript:void(0);' anstelle von href='#'

verwenden

ODER

Sie können stattdessen <a href='#' target="preview">Click me!</a> verwenden.

Ich denke, das Hinzufügen von target="preview" sollte auch Ihr Problem lösen.

Probieren Sie es einmal & amp; lassen Sie uns wissen, ob es funktioniert oder nicht.

    
user1199842 25.10.2013 14:45
quelle
0

Eigentlich mag das dumm sein, aber ich mag das Hash-Tag nicht, deshalb verwende ich javascript:// , wenn immer möglich, aber für Ihren Fall bin ich mir sicher, wenn Sie Ihren href -Wert entweder durch diesen oder% ersetzen co_de% es wird den Fall lösen, das Problem ist, ich denke, dass der Browser das Hash-Tag als eine neue URL behandelt, um zu suchen, und deshalb verwende ich es nicht, ich hoffe, es funktioniert für Sie

    
Labib Ismaiel 15.10.2013 18:53
quelle
0

Warum? Es ist lustig, aber das "anfängliche" Verhalten hat damit zu tun, was "oben auf der Seite" für Firefox in einem iFrame bedeutet. Wenn Sie #top verwenden, erhalten Sie die gleichen Ergebnisse .

Idealerweise sollten Sie href = 'javascript: void (0)' verwenden, wie in Labibs Antwort erwähnt, aber da Sie erwähnt haben, dass es außerhalb Ihrer Kontrolle liegt, scheint es, dass Sie einen Hack brauchen.

Der wirklich hässliche Weg wäre, die gedruckte Ausgabe nach href="#" zu suchen und sie zu ersetzen.

Aber in einer solchen Situation denke ich, dass es besser ist, zu erkennen, wann die Dinge schlecht gelaufen sind, und an diesem Punkt etwas zu tun, so:

%Vor%

Hier ist es in Aktion: Ссылка

    
Ed I 15.10.2013 22:16
quelle

Tags und Links