lixx: Anker läd Seite neu !?

Guten morgen!

Ich habe da ein Problem: Ich möchte ein Tab-Register auf einer Seite machen und die Tabs mit einem Anker der Seite verlinken. Also hat man ohne CSS eine Liste und wird zu den Abschnitt geleitet.

Ich baue gerade auf und habe schon ein Problem mit den Ankern. Die Seite wird mit PHP ausgegeben (index.php).

<ul>
 <li><a href="#default">Allgemein</a></li>
 <li><a href="#graph">Darstellung</a></li>
</ul>

weiter unten dann der Anker:

<a id="graph" name="graph"></a>

Klickt man nun auf einen Link, läd sich die Seite neu anstatt sich zu der Position zu begeben, wo sich der Anker befindet.

Was mache ich da falsch? Oder gibt es da vll. eine header-Einstellung oder sonstwas die man dafür benötigt?

Hoffe ihr könnt mir dabei weiterhelfen.

lg lixx

  1. Hi,

    <a id="graph" name="graph"></a>

    aus welchem Grund verwendest Du hier ein <a>-Element?

    Klickt man nun auf einen Link, läd sich die Seite neu anstatt sich zu der Position zu begeben, wo sich der Anker befindet.

    In welchem Browser ist Dir dieses Phänomen begegnet? Wie lautet die URL der Seite?

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hallo

      Html technisch ist das einwandfrei -
      muss wohl ein Problem mit PHP vorliegen.
      damit kenn ich mich allerdings nicht aus.
      Bei mir funktioniert es mit IE 7 und FF 2.0.6.

      Gruß

      Tolwyn

      1. Hallo Tolwyn,

        muss wohl ein Problem mit PHP vorliegen.
        damit kenn ich mich allerdings nicht aus.
        Bei mir funktioniert es mit IE 7 und FF 2.0.6.

        Nein, PHP hat darauf keinen Einfluss. Das wird vom Server geparst und der Browser kriegt gar nicht mit, dass im Hintergrund PHP eingesetzt wird. Relevant ist also nur der generierte und an den Browser geschickte HTML-Code.

        Schöne Grüße,

        Johannes

        1. Nein, PHP hat darauf keinen Einfluss. Das wird vom Server geparst und der Browser kriegt gar nicht mit, dass im Hintergrund PHP eingesetzt wird. Relevant ist also nur der generierte und an den Browser geschickte HTML-Code.

          Ich verstehe das auch nicht. Normalerweise ist das kein Problem bei mir. Ich verwende FF 2.0.0.4 auf Mac.

          Die Seite kann ich leider nicht zeigen, da sie in einem geschützten Bereich liegt. HTML-technisch sauber ist sie laut Validatoren auch. Daher dachte ich, dass es vll. an der Ausgabe oder dem Header liegen müsste. Was mir auch Aufgefallen ist, dass wenn man auf einer langen Seite sich unten befindet, weiter und dann wieder auf den Back-Button klickt, man normalerweise wieder an die selben Stelle kommt wie zuvor. Das passiert aber auch nicht. Und nur auf dieser Website.

          headers_list() gibt mir ein leeres Array aus.

          1. Hallo,

            Was mir auch Aufgefallen ist, dass wenn man auf einer langen Seite sich unten befindet, weiter und dann wieder auf den Back-Button klickt, man normalerweise wieder an die selben Stelle kommt wie zuvor. Das passiert aber auch nicht. Und nur auf dieser Website.

            Ist da irgendwo ein BASE-Element gesetzt?

            Wenn z.B.

              
            <base href="http://example.com/">  
            
            

            gesetzt ist, würde

              
            <a href="#test">...  
            
            

            http://example.com/#test

            referenzieren.

            viele Grüße

            Axel

            1. Ist da irgendwo ein BASE-Element gesetzt?

              Ja! Das war's!

              Umgehen kann man das nicht, oder?

              1. Hallo,

                Ist da irgendwo ein BASE-Element gesetzt?

                Ja! Das war's!

                Umgehen kann man das nicht, oder?

                Wozu soll das BASE-Element denn grundsätzlich da sein, wenn Du es nun umgehen willst?

                Die Referenz-URI eines A-Elements setzt sich zusammen aus base-URI und href-URI. Bei

                <base href="http://example.com/">

                und

                <a href="test.html#test">...

                würde sich also:

                http://example.com/test.html#test

                ergeben.

                viele Grüße

                Axel

                1. Danke für Deine Hilfe!

                  lg lixx

  2. Hallo lixx,

    Ich baue gerade auf und habe schon ein Problem mit den Ankern. Die Seite wird mit PHP ausgegeben (index.php).

    <ul>
    <li><a href="#default">Allgemein</a></li>
    <li><a href="#graph">Darstellung</a></li>
    </ul>

    weiter unten dann der Anker:

    <a id="graph" name="graph"></a>

    Klickt man nun auf einen Link, läd sich die Seite neu anstatt sich zu der Position zu begeben, wo sich der Anker befindet.

    Ich kann dein Problem nicht nachvollziehen, bei mir funktioniert dein Beispiel. Vielleicht lädst du mal deine Seite hoch und beschreibst, in welchem Browsern dir das Problem aufgefallen ist.

    Schöne Grüße,

    Johannes