Sebastian Becker: Verweis (bis ganz) zum Seitenanfang mit verschiedenen Browsern

Hallo,

ich habe in meine Seiten einen Verweis zum Seitenanfang eingefügt:

<body leftmargin="10" marginwidth="10" topmargin="10" marginheight="10">
<a name="top"></a>
...
<a href="#top"><img src="img/top.gif"></a>

Nun springen die verschiedenen Browser ja bekanntlich nicht bis ganz an den Seitenanfang, zumindest wenn ein Rand definiert ist.

Die Lösung schien zu sein, das <a name="top"></a> einfach wegzulassen, was im Internet Explorer auch prima funktioniert.

Beim Austesten von Netscape 6 Preview 2 habe ich nun festgestellt, daß dieser auf das <a name="top"></a> angewiesen ist.

Somit habe ich wieder das klitzekleine Problem, daß die Seite nicht bis ganz an den Rand springt.

Hat jemand vielleicht eine Lösung?

Danke, Grüße

Sebastian Becker

  1. Hallo Sebastian,

    Beim Austesten von Netscape 6 Preview 2 habe ich nun festgestellt, daß dieser auf das <a name="top"></a> angewiesen ist.

    Somit habe ich wieder das klitzekleine Problem, daß die Seite nicht bis ganz an den Rand springt.

    da ich bisher dachte, <a href="#top>oben</a> funktioniert bei allen
    relevanten Browsern, habe ich es auch auf meinen Seiten eingebaut.
    Bitte sei so nett und schaue mal auf z.Bsp. http://www.favicon.de/faq.html
    mit Netscape 6PR2 und sage mir, ob es auch dort nicht mehr klappt.
    Wäre schade, da ich sehr viele Seiten dank Netscape dann umbauen
    müßte oder Netscape 6 gehört nicht zu den "relevanten Browsern" ;-)

    Eine Lösung bei Seiten mit Rand weiß ich im Moment nicht, werde aber
    auch gleich mal das Archiv&Auslese kontaktieren.

    Viele Grüße aus Dresden,
    Stefan Einspender

    <img src="http://www.favicon.de/_banner1.gif" title="Patchwork - die bunte Welt des WWW auf Favicon.de" style="cursor:hand;" onClick="window.location.href='http://www.favicon.de/patchwork/'" onmouseover="status='http://www.favicon.de/patchwork/';return true;" onmouseout="status='';return true;" alt="">

    1. Hallo, Stefan,

      leider funktioniert der Pfeil nach oben auf Deiner Seite im Netscape 6 Preview 2 nicht mehr.

      Vor einer möglichen Änderung aller Seiten würde ich allerdings erstmal die endgültige Version abwarten. Vielleicht kann man ja Netscape mal auf das "Problem" hinweisen.

      Das Ganze ist allerdings kein Bug, denn nirgendwo ist festgelegt, daß der Browser zum Seitenanfang springen muß, wenn der Anker nicht definiert ist.

      Funktioniert die Sache denn wirklich in allen anderen Browsern?

      Und falls man also jetzt doch den Anker einfügen muß, wie kann man erreichen, daß die Seite ganz zum Anfang springt?

      Grüße,

      Sebastian

      1. Hallo Sebastian,

        Funktioniert die Sache denn wirklich in allen anderen Browsern?

        ja, wie gesagt, alle etwas verbreiteten Browser, die ich kenne, da
        geht es (MAC-Browser und Opera weiß ich jetzt nicht 100%, denke aber
        schon).

        Und falls man also jetzt doch den Anker einfügen muß, wie kann man erreichen, daß die Seite ganz zum Anfang springt?

        Wie es scheint überhaupt nicht. Gerade mal mit dem MSIE 5.5 einige
        Tests durchgeführt, er springt bei <body><a name="oben"></a> immer
        an den oberen Rand des Inhaltes, wenn Du dann eben <body topmargin="0">
        definierst, ist es ganz oben, sonst nicht :-(

        Viele Grüße aus Dresden,
        Stefan Einspender

        <img src="http://www.favicon.de/_banner1.gif" title="Patchwork - die bunte Welt des WWW auf Favicon.de" style="cursor:hand;" onClick="window.location.href='http://www.favicon.de/patchwork/'" onmouseover="status='http://www.favicon.de/patchwork/';return true;" onmouseout="status='';return true;" alt="">

  2. Tach Sebastian,...

    Nun springen die verschiedenen Browser ja bekanntlich nicht bis ganz an den Seitenanfang, zumindest wenn ein Rand definiert ist.

    Somit habe ich wieder das klitzekleine Problem, daß die Seite nicht bis ganz an den Rand springt.

    Wenn die Seiten nicht allzugroß sind, könntest Du auch einfach auf die "normale" Datei verweisen, dann wird die komplett neu in dem Frame oder in dem Fenster geöffnet....

    Das Problem is "nur", das die Seite komplett neu geladen werden muss... d.h. längere Ladezeiten (na gut, die Seite is im Cache, aber...)

    Kannste ja mal austesten und sehen, ob der Unterschied sooo groß ist, das man das lassen sollte, denn online hab ich das noch nicht probiert (nur lokal auf der Festplatte, und die ist ja bekanntlich etwas flotter, als das Netz *g)

    Bis denne. CoN.

    1. Hallo CoN,

      ist zwar 'ne Idee, aber wohl nicht die Lösung.

      Das Risiko langer Ladezeiten ist mir einfach zu lang, denn ob der Browser die Seiten aus dem Cache oder vom Server holt ist meiner Erfahrung nach nicht sicher vorauszusagen.

      Der Nutzer wäre sicherlich etwas irritiert, wenn sich die ganze Seiten mit allen Grafiken nochmal neu aufbaut, nur weil er zu bequem war, mit der Scrolleiste zum Seitenanfang zurück zu gehen.

      Grüße,

      Sebastian

      1. Tach...

        Das Risiko langer Ladezeiten ist mir einfach zu lang, denn ob der Browser die Seiten aus dem Cache oder vom Server holt ist meiner Erfahrung nach nicht sicher vorauszusagen.

        Der Nutzer wäre sicherlich etwas irritiert, wenn sich die ganze Seiten mit allen Grafiken nochmal neu aufbaut, nur weil er zu bequem war, mit der Scrolleiste zum Seitenanfang zurück zu gehen.

        Ja, das kann schon sein... wie gesagt, ich habe das bei einigen Projekten genutzt, die auf CD oder Festplatte waren... da gibt es ja nicht derartig große Ladezeiten.

        Grüße. Con.

  3. Moin,

    ich habe in meine Seiten einen Verweis zum Seitenanfang eingefügt:

    <body leftmargin="10" marginwidth="10" topmargin="10" marginheight="10">
    <a name="top"></a>

    Sollten Sprungmarken nicht immer einen Inhalt haben?

    Nun springen die verschiedenen Browser ja bekanntlich nicht bis ganz an den Seitenanfang, zumindest wenn ein Rand definiert ist.

    Richtig.

    Die Lösung schien zu sein, das <a name="top"></a> einfach wegzulassen, was im Internet Explorer auch prima funktioniert.

    Beim Austesten von Netscape 6 Preview 2 habe ich nun festgestellt, daß dieser auf das <a name="top"></a> angewiesen ist.

    Wenn ich das hier jetzt richtig verstehe, laesst man die Sprungmarke einfach weg, dann geht er, dank eines "reservierten" (o.ä.) Wortes namens "top" an den Seitenanfang? Auf jeden fall scheint mir das nicht HTML 4.0- Konform zu sein, so dass der "strenge" Mozilla dies nicht versteht.
    (Falls ich hier jetzt was falsch verstanden habe, dann korrigiert mich. Ich habe grad keine Zeit zum Testen...

    Somit habe ich wieder das klitzekleine Problem, daß die Seite nicht bis ganz an den Rand springt.

    Hat jemand vielleicht eine Lösung?

    Das muesste doch eigentlich klappen, indem du den Seiteninhalt, ausser dem top-Verweis, in einen DIV steckst:

    <body>
    <p><a name="top">&nbsp</a></p>
    <div style="Hier die Style-Angaben...">
    ...
    <a href="#top"><img src="img/top.gif"></a>

    Du kannst den ersten Absatz dann noch via CSS so klein machen, dass er nicht auffällt..

    Hoffe ich konnte helfen...

    Gruss,

    Einbecker

    1. Hallo Einbecker,

      Sollten Sprungmarken nicht immer einen Inhalt haben?

      ja, deshalb verwende ich <a href="#top">oben</a> und lasse <a name ...
      einfach weg ;)

      Das muesste doch eigentlich klappen, indem du den Seiteninhalt, ausser dem top-Verweis, in einen DIV steckst:

      <body>

      <a name="top"> </a></p>
      <div style="Hier die Style-Angaben...">
      ...
      <a href="#top"><img src="img/top.gif"></a>

      Du kannst den ersten Absatz dann noch via CSS so klein machen, dass er nicht auffällt..

      Stimmt, diese Idee ist mir auch gekommen, allerdings werden damit
      alle Browser benachteiligt, die kein CSS unterstützen, nur um es
      dem so tollen NC6PR2 recht zu machen, den ausser Developern kaum
      jemand einsetzt.
      Auch ist der Seitenbau dadurch wieder ein Stück verkompliziert,
      unnötigerweise, dann lieber <a href="#top">oben</a> ohne Sprung-
      marke und ohne Funktion im NC6PR2.

      Viele Grüße aus Dresden,
      Stefan Einspender

      <img src="http://www.favicon.de/_banner1.gif" title="Patchwork - die bunte Welt des WWW auf Favicon.de" style="cursor:hand;" onClick="window.location.href='http://www.favicon.de/patchwork/'" onmouseover="status='http://www.favicon.de/patchwork/';return true;" onmouseout="status='';return true;" alt="">

    2. Hallo Einbecker (und alle anderen)!

      Wenn ich das hier jetzt richtig verstehe, laesst man die Sprungmarke einfach weg, dann geht er, dank eines "reservierten" (o.ä.) Wortes namens "top" an den Seitenanfang?
      (Falls ich hier jetzt was falsch verstanden habe, dann korrigiert mich.

      So wie es aussieht, liegt es nicht an einem "reservierten Wort", sondern an der fehlenden Sprungadresse. Denn egal ob man nun <a href="#top"> <a href="#start"> oder <a href="#voelligerMist"> schreibt, wenn das entsprechende Gegenstück an entsprechender Stelle fehlt, geht's zurück zum Seitenanfang (zumindest bisher).

      Auf jeden fall scheint mir das nicht HTML 4.0- Konform zu sein, so dass der "strenge" Mozilla dies nicht versteht.

      Daran wird es wohl liegen, daß es unter dem neuen Netsi nicht mehr funktioniert.

      Viele Grüße

      Carsten

  4. Hallo,

    hier die Lösung (?!) für meine eigene Frage ;-) :

    <a href="#top" onClick="window.scrollTo(0,0);return false;"><img src="img/top.gif"></a>

    Funktioniert bei mir in IE 5.5, NS 4.73 und NS 6 PV 2 - oder gibt es irgendwelche Einwände z.B. wegen nichtkompatibler Browser?

    Grüße,

    Sebastian

    1. Hallo Sebastian,

      <a href="#top" onClick="window.scrollTo(0,0);return false;"><img src="img/top.gif"></a>

      Funktioniert bei mir in IE 5.5, NS 4.73 und NS 6 PV 2 - oder gibt es irgendwelche Einwände z.B. wegen nichtkompatibler Browser?

      bei Netscape 3.03 mit aktivierten JS:

      JavaScript Error:
      Window.scrollTo ist not a function.

      Wenn Du einen Vorschlag hast, wie man diese Ungereimtheit ausbügeln
      kann, dann ist die Sache ohne Frage reif für die Forums-Auslese :-)

      Viele Grüße aus Dresden,
      Stefan Einspender

      <img src="http://www.favicon.de/_banner1.gif" title="Patchwork - die bunte Welt des WWW auf Favicon.de" style="cursor:hand;" onClick="window.location.href='http://www.favicon.de/patchwork/'" onmouseover="status='http://www.favicon.de/patchwork/';return true;" onmouseout="status='';return true;" alt="">

      1. Hallo,

        also bei mir gibts auch im NS 3 keine Fehlermeldung - aber ich habja auch folgendes im Script stehen :-) :

        <script language="JavaScript" type="text/javascript">
        <!--
        // Errormeldung bei NS 3 unterdrücken
        window.onerror=null;
        // -->
        </script>

        Ist nicht ganz die feine Art aber müßte eigentlich funktionieren.

        Ansonsten kann ich scrollTo natürlich auch in eine JavaScript-1.2-Funktion packen, um zu verhindern, daß der Befehl mit alten Browsern aufgerufen wird.

        Grüße aus Berlin,

        Sebastian

        1. Hallo Sebastian,

          also bei mir gibts auch im NS 3 keine Fehlermeldung - aber ich habja auch folgendes im Script stehen :-) :

          <script language="JavaScript" type="text/javascript">
          <!--
          // Errormeldung bei NS 3 unterdrücken
          window.onerror=null;
          // -->
          </script>

          so geht es dann auch ;-)

          Ansonsten kann ich scrollTo natürlich auch in eine JavaScript-1.2-Funktion packen, um zu verhindern, daß der Befehl mit alten Browsern aufgerufen wird.

          Wobei ich es nicht ganz verstehe, laut <../../tecb.htm#a43> soll
          ja diese Sache bereits ab NC 3.0 funktionieren, onClick sogar ab 2.0.
          Wäre nett, wenn Du mir hier einen Hinweis geben könntest, falls Du
          die JS1.2-Version schreibst, kannst sie ja gleich mit posten, danke.

          Viele Grüße aus Dresden,
          Stefan Einspender

          <img src="http://www.favicon.de/_banner1.gif" title="Patchwork - die bunte Welt des WWW auf Favicon.de" style="cursor:hand;" onClick="window.location.href='http://www.favicon.de/patchwork/'" onmouseover="status='http://www.favicon.de/patchwork/';return true;" onmouseout="status='';return true;" alt="">

          1. Hallo Stefan,

            Wobei ich es nicht ganz verstehe, laut <../../tecb.htm#a43> soll ja diese Sache bereits ab NC 3.0 funktionieren, onClick sogar ab 2.0.

            Möglicherweise ist die Angabe in SelfHTML falsch. Laut "O'Reilly JavaScript kurz & gut" wird scrollTo erst ab JS 1.2 und damit nicht von NS 3.0 unterstützt.

            Ich weiß noch nicht, ob ich ein eigenes Versionsabfragescript schreibe, denn die Sache funktioniert ja auch so und ich denke außerdem, daß man sich Speziallösungen für 3-er-Browser allmählich sparen kann. ;-)

            Falls ja, poste ich es aber hier!

            Grüße,

            Sebastian