Markus: In der PHP Ausgabe zu einen Anker springen

Hallo,

es geht um folgendes, wenn ich ein PHP-Script test.php#middle Aufrufe,
"springt" der Browser ja automatisch zu einen Anker <a name="middle"></a>. Gibt es einen Weg das auch hinzubekommen, wenn ich erst im PHP-Script entscheide das ich an diesen Punkt springen will?

Gruß

Markus

  1. Moin!

    es geht um folgendes, wenn ich ein PHP-Script test.php#middle Aufrufe, "springt" der Browser ja automatisch zu einen Anker <a name="middle"></a>. Gibt es einen Weg das auch hinzubekommen, wenn ich erst im PHP-Script entscheide das ich an diesen Punkt springen will?

    Nein.

    Anker anzuspringen ist komplett Sache des Browsers. Der angesprungene Anker wird dir in der URL ja nicht mitgeteilt! Wenn dein Link also auf "skript.php?para=meter#ankername" zeigt, erhält dein Skript lediglich "skript.php?para=meter" übermittelt - und der Browser wartet, ob sich in der neuen Seite irgendwo ein Anker namens "ankername" befindet, um dort hin zu springen. Wenn nicht - dann springt er nicht.

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
    1. Hallo,

      stimme Sven komplett zu. Möglich wäre es natürlich über sehr dreckige JavaScripts - Das willst du allerdings gar nicht ;)

      Gruß,
      Philipp

      --
      ie:{ fl:( br:> va:) fo:) n4:& ss:) de:> js:| mo:| zu:)
  2. Hi,

    Gibt es einen Weg das auch hinzubekommen, wenn ich erst im PHP-Script entscheide das ich an diesen Punkt springen will?

    Allenfalls über das Senden eines entsprechenden Location-Headers. Das PHP-Script kann aber den Hash (so heißt das Teil) nicht lesen, weswegen Du ggf. mit einer Session arbeiten müßtest, um eine Endlosschleife zu vermeiden.

    Da nimmt man dann doch lieber JS ... ;-)

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
  3. hi,

    es geht um folgendes, wenn ich ein PHP-Script test.php#middle Aufrufe, "springt" der Browser ja automatisch zu einen Anker <a name="middle"></a>. Gibt es einen Weg das auch hinzubekommen, wenn ich erst im PHP-Script entscheide das ich an diesen Punkt springen will?

    Wenn es darum geht, beispielweise in einem Foren-Thread immer zum neuesten Postings zu springen, dann könntest du natürlich den Link im HTML immer mit einem Hash "#newposting" ausstatten - und dann in deinem PHP-Script entscheiden, an welcher Stelle du einen solchen Anker (bzw. ein Element mit dieser ID) ausgibst. Falls es den Anker mal nicht geben sollte - bspw. weil das Script kein neuestes Posting ermitteln kann - dann passiert halt nichts, auch kein Tragik. [1]

    Ob das für deinen Anwendungsfall auch eine sinnvolle Möglichkeit sein könnte, musst du entscheiden.

    [1] Einziges Problem, welches mir spontan einfällt: Wenn solche URLs zum Bookmarken verwendet werden, befindet sich der Anker beim nächsten Aufruf u.U. nicht mehr an der Position, die er beim setzen des Bookmarks hatte.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }