Manfred Hofschneider: Frage zu Anker

Hallo,

habe auf dieser Seite einiger Anker gesetzt, um von entsprechenden Positionen der Seite an den Anfang zurück zu springen. Doch leider funktioniert das nur unter Firefox. IE und Opera wollen das nicht.

Was mache ich da falsch?

Danke und Gruss

Manne

  1. Hi,

    erstens kann ich das Problem mit IE6 nicht nachvollziehen, zweitens hast du mindestens einen gravierenden Syntaxfehler in Form eines nicht geschlossenen DIV-Tags.

    MfG
    Rouven

    --
    -------------------
    "I wish it need not have happened in my time" - "So do I, and so do all who live to see such times. But that is not for them to decide. All we have to decide is what to do with the time that is given us."  --  J.R.R. Tolkien: "The Lord Of The Rings: The Fellowship Of The Ring"
    1. Hallo Rouven,

      das Problem taucht bei mir im IE6 auf, übrigens auch auf 9 anderen Rechnern, ebenso Opera.

      Ein nicht geschlossenes DIV konnte ich auch nicht entdecken,

      der Validator sagt mir allerdings:

      Ungeschlossener Starttag benötigt SHORTTAG YES
        Fehlerstelle: <a id="step0" name="step0" />

      Was ist daran falsch?

      Gruss

      Manne

      1. Hi,

        Was ist daran falsch?

        nichts, das Problem ist das Div, das genau davor liegt - womit auch die Frage nach dem nicht geschlossenen Div geklärt wäre. Mit nicht geschlossen meine ich nicht fehlendes Endtag, sondern nicht geschlossenes Div-Tag.

        Mein IE6 ist munter gesprungen, muss ich bestimmte Einträge auswählen? Ah, sekunde, genaueres Lesen beantwortet meine Frage, es geht um den nach-oben-Link. Der müsste dann mit Beheben des obigen Fehlers auch funktionieren, nehme ich an.

        MfG
        Rouven

        --
        -------------------
        He is entertaining both out of the car and in the car because if you tell him that a corner is almost flat then he is the guy who is going to try to take it flat even if it means shunting it the other side of it, he will come with the data and say 'hey, I may have crashed and destroyed the car, but I was flat-out'. That is an interesting quality that he has!  --  Team Member on Jacques Villeneuve
      2. Hallo,

        beim ersten Div in deinem Quelltext fehlt am ende das '>'.

        Ungeschlossener Starttag benötigt SHORTTAG YES
          Fehlerstelle: <a id="step0" name="step0" />

        Bei 'normalen' Tags wie <a> soll man die kurzform nicht verwenden sondern <a></a>.

        Allerdings ist für einen Anker kein <a> nötig, wenn du einem div die ID gibst springen >95 aller verwendeten Browser auf das Div.

        Gruss, T

        1. Hi,

          Allerdings ist für einen Anker kein <a> nötig, wenn du einem div die ID gibst springen >95 aller verwendeten Browser auf das Div.

          hmh, und wenn du JavaScript-Fehler und ungültigen HTML-Code produzierst, klappt das auch in 95% aller Browser. Ist das ein Grund dafür, es zu tun? Was dabei rauskommt sieht man an diesem Thread, alle Browser reagieren auf Fehler unterschiedlich.

          MfG
          Rouven

          --
          -------------------
          Let Bygones Be Bygones  --  Robert Pitscottie: "Chronicles of Scotland"
          1. Hallo Rouven,

            ist ja nett, dass Du antwortest, aber gib Dich doch bitte nicht so kryptisch,

            o.k. habe ein Div-Tag nicht geschlossen, ist beim Kopieren rausgerutscht, ist nun aber wieder drin.

            Aber was denn: falscgher HTML-Code und Javascript produziert?
            Geht es etwas genauer? Es muss doch einen Grund haben, dass es bei Opera und IE nicht geht? Normalerweise ist es doch so, dass der Firefox alles genau umsetzt (was ja auch richtig ist) und IE unlogisch reagiert.
            Es kann doch nicht so schwer sein, zuu einem Anker zurückzuspringen.

            Gruss

            Manne

            1. Hi,

              also mal der Reihe nach:

              1. Mein Kommentar in Richtung Tomas war ein Fehler vom Amt, hab gedacht er weißt auf eine Fehlerausnutzung her. Tut er aber nicht, das ist so gedacht, dass man auch IDs anspringen kann.
              2. Funktioniert es jetzt, nachdem du das Div korrigiert hast?
              3. Und als Ergänzung zu (2). Na ja, es funktioniert halt nicht, wenn der Browser sich "verliest". In deinem Fall hat der FF offenbar angenommen, dass vor das <a... das schließende > für das Div hingehörte, hatte damit eine gültige Seite und hat alles wie gewünscht erledigt. Andere Browser haben offenbar stattdessen das <a>-Element gleich komplett gefressen und hatten deswegen keinen Anker zum Anspringen.

              MfG
              Rouven

              --
              -------------------
              He is entertaining both out of the car and in the car because if you tell him that a corner is almost flat then he is the guy who is going to try to take it flat even if it means shunting it the other side of it, he will come with the data and say 'hey, I may have crashed and destroyed the car, but I was flat-out'. That is an interesting quality that he has!  --  Team Member on Jacques Villeneuve
              1. Danke Rouven,

                es funktioniert jetzt, nach dem ich Anker <a href='#step0'> rausgeschmissen habe und die Id im Div verwende.

                Gruss

                Manne

                1. Hallo

                  es funktioniert jetzt, nach dem ich Anker <a href='#step0'> rausgeschmissen habe ...

                  Das ist ja auch kein Sprungziel (<a name="step0" />), sondern der Link (<a href="#step0">bla</a>) zu einem solchen.

                  ... und die Id im Div verwende.

                  Was mMn zu bevorzugen ist.

                  Tschö, Auge

                  --
                  Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
                  (Victor Hugo)
                  Veranstaltungsdatenbank Vdb 0.1
          2. Hallo,

            Allerdings ist für einen Anker kein <a> nötig, wenn du einem div die ID gibst springen >95 aller verwendeten Browser auf das Div.
            hmh, und wenn du JavaScript-Fehler und ungültigen HTML-Code produzierst, klappt das auch in 95% aller Browser. Ist das ein Grund dafür, es zu tun?

            Von welchem Fehler sprichst Du? Das, was Tomas da beschreibt, nämlich "Anchors with the id attribute", ist hochoffiziell so standardisiert.

            viele Grüße

            Axel

            1. Hi,

              ist hochoffiziell so standardisiert.

              oi, mea culpa. Hab das für Ausnutzung eines Fehlers gehalten, analog des Ausnutzens, dass der IE auch Elemente mit passenden name-Attribut rausgibt, wenn nach der ID gefragt wird.

              MfG
              Rouven

              --
              -------------------
              Buy when there's blood running in the street and sell when everyone is pounding at your door, clawing to own your equities  --  Wisdom on Wallstreet
  2. Hallo Manne!

    habe auf dieser Seite einiger Anker gesetzt, um von entsprechenden Positionen der Seite an den Anfang zurück zu springen. Doch leider funktioniert das nur unter Firefox. IE und Opera wollen das nicht.

    Ich habe da einen Rat für dich, der mich eigentlich sogar selbst verblüfft: verwendet #top.

    Es ist schon lange her, dass ich über die Frage gestolpert bin: http://forum.de.selfhtml.org/archiv/1999/10/t7479/#m37449
    Ich habe auch nie geklärt, warum es funktioniert, aber es wird im aktuellen Selfhtml auf jeder Seite verwendet. Dazu gibt es folgenden Hinweis: http://de.selfhtml.org/html/verweise/projektintern.htm

    Viele Grüße

    H-P Ortner

    1. Hallo,

      Ich habe da einen Rat für dich, der mich eigentlich sogar selbst verblüfft: verwendet #top.
      [...]
      Dazu gibt es folgenden Hinweis: http://de.selfhtml.org/html/verweise/projektintern.htm

      Ich schätze, Du spielst auf diese Passage an: "Einige Browser, z.B. der Internet Explorer, kennen auch "intern reservierte" Ankernamen wie top. Wenn Sie also einen Verweis <a href="#top">...</a> notieren und kein Anker dieses Namens in der Datei existiert, springt der Browser beim Ausführen des Verweises an den Anfang der Seite."

      Vergiß es am besten! Zu jedem seiteninternen Verweis gehört auch ein dazugehöriger Anker. In Firefox funktioniert "#top" ohne Anker nur im Quirks Mode, in Opera gar nicht.

      es wird im aktuellen Selfhtml auf jeder Seite verwendet.

      Und auf jeder Seite findest Du auch ein dazugehöriges <a name="top">...</a> ...

      Viele Grüße
      Carsten

      1. Hallo Carsten!

        Ich schätze, Du spielst auf diese Passage an: "Einige Browser, z.B. der Internet Explorer, kennen auch "intern reservierte" Ankernamen wie top. Wenn Sie also einen Verweis <a href="#top">...</a> notieren und kein Anker dieses Namens in der Datei existiert, springt der Browser beim Ausführen des Verweises an den Anfang der Seite."

        Ja

        Vergiß es am besten! Zu jedem seiteninternen Verweis gehört auch ein dazugehöriger Anker. In Firefox funktioniert "#top" ohne Anker nur im Quirks Mode, in Opera gar nicht.

        Danke die Info wusste ich nicht.

        es wird im aktuellen Selfhtml auf jeder Seite verwendet.
        Und auf jeder Seite findest Du auch ein dazugehöriges <a name="top">...</a> ...

        Danke, das hab ich übersehen. In Version 7 von Selfhtml war es noch so wie ich geschrieben habe. Dass das schon seit Version 8.0 geändert ist, hab ich nicht bemerkt. War für mich eines der unerklärlichen Wunder des WWW.

        Ich sollte mir (wie viele andere auch) mehr Zeit nehmen und so etwas in Ruhe noch einmal genauer betrachten, dann löst es sich von selbst. Hast mir sehr geholfen - danke.

        Viele Grüße

        H-P Ortner

        1. Hallo,

          In Version 7 von Selfhtml war es noch so wie ich geschrieben habe.

          Auch in SELFHTML 7.0 gab es einen entsprechenden Anker am Anfang der Seite. Ich glaube nicht, daß sie das in der archivierten Fassung von SELFHTML 7.0 noch nachträglich geändert haben ... ;-)

          Viele Grüße
          Carsten

          1. Hallo Carsten!

            Auch in SELFHTML 7.0 gab es einen entsprechenden Anker am Anfang der Seite. Ich glaube nicht, daß sie das in der archivierten Fassung von SELFHTML 7.0 noch nachträglich geändert haben ... ;-)

            Ja genau die Version hab ich gemeint. Auf der von dir verlinkten Seite finde ich den <a name="top"... nämlich nicht. Wenn ich am linken unteren Rand auf das xgoup.gif klicke springen sowohl der FF als auch der IE bis ganz nach oben.
            Seit Version 8.0 ist der Anker drinnen und es wird der obere Rand nicht mehr (ganz) erreicht.

            Viele Grüße

            H-P Ortner

            1. Hallo,

              Auch in SELFHTML 7.0 gab es einen entsprechenden Anker am Anfang der Seite. Ich glaube nicht, daß sie das in der archivierten Fassung von SELFHTML 7.0 noch nachträglich geändert haben ... ;-)

              Ja genau die Version hab ich gemeint. Auf der von dir verlinkten Seite finde ich den <a name="top"... nämlich nicht. Wenn ich am linken unteren Rand auf das xgoup.gif klicke springen sowohl der FF als auch der IE bis ganz nach oben.

              Du solltest einen Bug-Report an SELFHTML schicken ... ;-)

              Die von mir verlinkte Startseite (bei der ich es nicht extra noch einmal nachgeprüft hatte) ist nämlich die einzige Seite, auf der der Anker fehlt. Alle anderen Unterseiten, die ich mir näher angeschaut hatte, haben den Anker im Quelltext.

              Viele Grüße
              Carsten

              1. Hallo Carsten!

                Ja genau die Version hab ich gemeint. Auf der von dir verlinkten Seite finde ich den <a name="top"... nämlich nicht. Wenn ich am linken unteren Rand auf das xgoup.gif klicke springen sowohl der FF als auch der IE bis ganz nach oben.
                Du solltest einen Bug-Report an SELFHTML schicken ... ;-)

                Ich fürchte, um das in Version 7.0 noch zu ändern, ist es jetzt einfach zu spät :o)

                Viele Grüße

                H-P Ortner