• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Anker wird im FF 12 nicht angesprungen

S

sysop

Guest
Ich habe in meinem Projekt eine Online-Hilfe, die ich mittels Anker anspringe. Dazu öffne ich per JS ein Fenster (name help) und sende den Anker im Link mit.
Eine ganze Reihe an List-Elementen verweist auf dieselbe Datei mit entsprechedem Anker.
Bsp:
HTML:
<li style="list-style-type:circle;"><a name="" onclick="window.open('docs/help.php#marchiv','help', 'width=750,height=500,top=40,left=40,scrollbars=1')">Mailarchiv</a></li>

in der Help.php ist ein entsprechender Anker natürlich vorhanden:

HTML:
<div class="kopf">
<a name="marchiv"></a>
<h2><?=$lng['mailarchive']?></h2>
<?PHP echo $help['marchiv']; ?>
</div>

Soweit gut, allerdings wird seit den letzten beiden Firfox-Versionen der Anker nicht mehr angesprungen. Stelle ich mich aber im neuen Fenster in die URL-Zeile und bestätige den Link nochmal mit Enter, oder Klicke ich einen Link an, wenn das Fenster bereits geöffnet ist, klappt der Sprung zum Anker.

Ist da was bekannt, dass der FF Anker seit Neuestem anders behandelt oder ein Bug?
 
Werbung:
Mir ist spontan keine neue Behandlung eines Anchors bekannt, allerdings hatte ich in der Vergangenheit Probleme wenn der Anchor leer war (
Code:
<a name="test"></a>
), ein einfaches
Code:
&nbsp;
half da manchmal Wunder. Und abgesehen davon, warum ist dein Link in einem Anchor und nicht einem Hyperlink (href anstatt name)?

Edit: Zur Hervorhebung direkt im Code:
Code:
<li style="list-style-type:circle;"><a [B][COLOR="#FF0000"]name=""[/COLOR][/B] onclick="window.open('docs/help.php#marchiv','help', 'width=750,height=500,top=40,left=40,scrollbars=1')">Mailarchiv</a></li>

Das sollte doch ein HREF sein...
 
Glaube, das a.name-Konzept ist überholt und du kannst (und solltest) mittlerweile problemlos IDs anspringen.

HTML:
<!DOCTYPE html>

<html lang="en">

    <head>
        <meta charset="UTF-8" />
        <title>Fiddle</title>
    </head>

    <body>
        <p><a href="#test">Zu #test springen</a></p>

        <div style="height: 3000px;"></div>

        <h2 id="test">Test</h2>

        <div style="height: 3000px;"></div>

    </body>

</html>

Edit: Das ist auch der Grund, warum ich immer sage, dass IDs weitestgehend als „Navigationselemente“ angesehen werden sollten und nicht primär als Hooks für Styles. Sie sind verlinkbar, können also Teil des URL werden.
 
Werbung:
Nun, das Script ist schon älter und lief bisher problemlos. Irgend etwas scheint aber Störfunk zu senden.

Letztere Variante (mermshaus) läuft leider auch nicht (so hatte ich das zuerst gemacht :mrgreen: ). Das Help-Fenster geht auf, bleibt aber beim ersten Eintrag stehen. Klicke ich den Link nochmals an, wird der Anker angesprungen.

Dass der Name in den Listelementen leer ist sollt keinen Einfluss auf den Link selber haben. Dass kein href verwendet wird, ist angesichts des js einsatzes (windows.open) eigentlich logisch.

Ach ja, auch wenn ich in den Listelementen name befülle bringt das garnichts.

Und was ich erreichen möchte:
Beim Klick auf einen Hilfepunkt, soll ein Popup (das Hilfefenster) in definierter Grösse an definierter Position aufspringen und direkt zum entsprechenden Eintrag gehen. Position und Grösse sind parametrierbar und können vom User eingestellt werden.

Ist das Femnster geöffnet und ich klicke einen Link, wird problemlos zum Anker gesprungen. Wird über den Link das Fenster erst geöffnet, erfolgt kein anspringen des Ankers.

PS
Code sieht nun wieder aus wie Vorher:

help.php
HTML:
<div class="kopf"> 
  <h2 id="marchiv">Mailarchiv..</h2> 
  Textzeugs
</div>

Linkliste:
HTML:
<li style="list-style-type:circle;"><a name="march" onclick="window.open('docs/help.php#marchiv','help', 'width=750,height=500,top=40,left=40,scrollbars=1')">Mailarchiv</a></li>

PPS
Habe gerade Opera installiert und der macht alles wie er soll ??
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben