An Anker auf einer Seite springen, wenn die Seite mittels PHP erstellt wurde?
Heppi
- html
- php
0 Gunnar Bittersmann0 Rolf B0 Tabellenkalk0 Rolf B
0 Heppi
Hallo zusammen,
es gibt ja die Möglichkeit mit skript.htm#anker an eine bestimmte Stelle (<div name="anker">text</div>) auf einer HTML-Seite zu springen. Jetzt wird meine Seite aber von einem PHP-Skript erstellt und mittels echo ausgegeben, Gibt es hier auch eine Möglichkeit an eine bestimmte Stelle auf dieser Seite zu springen? Danke euch schon mal für die Hilfe 😀
Schöne Grüße, Heppi.
@@Heppi
es gibt ja die Möglichkeit mit skript.htm#anker an eine bestimmte Stelle (<div name="anker">text</div>) auf einer HTML-Seite zu springen.
So wird das nichts. id
statt name
. Und vermutlich auch ein anderes Element (section
?) statt div
.
Den Sprung macht der Browser, der Server weiß davon nichts.
Jetzt wird meine Seite aber von einem PHP-Skript erstellt und mittels echo ausgegeben,
Den Sprung macht der Browser, der Server weiß davon nichts.
Gibt es hier auch eine Möglichkeit an eine bestimmte Stelle auf dieser Seite zu springen?
Ja.
LLAP 🖖
Gibt es hier auch eine Möglichkeit an eine bestimmte Stelle auf dieser Seite zu springen?
Ja.
Und wie geht die? Oder stehe ich jetzt grad total auf dem Schlauch?
Hallo
Gibt es hier auch eine Möglichkeit an eine bestimmte Stelle auf dieser Seite zu springen?
Ja.
Und wie geht die? Oder stehe ich jetzt grad total auf dem Schlauch?
So, wie immer‽
Was generierst du mit PHP für den Browser? Ein HTML-Dokument. Wie erzeugst du in HTML eine Sprungmarke? Mit dem ID-Attribut. Fertich!
Tschö, Auge
Hallo Heppi,
das Springen auf eine ID macht der Browser, dem ist egal ob das HTML statisch war oder von PHP per echo ausgegeben wird.
Wenn Du auf einer Seite a.html
bist und von dort auf b.php#foo
verlinkst, teilt der Browser die Aufgabe auf. Zuerst holt er b.php
vom Server. Der Server muss wissen, wie er diese Ressource bereitstellt. Es KÖNNTE eine statische Datei auf der Platte sein, aber es ist natürlich Konvention, dass nun der PHP Interpreter anläuft. Das Ergebnis ist eine HTML-Seite[1]. Nachdem der Browser diese Seite bekommen hat, übersetzt er sie in seine interne Darstellung (das DOM) und navigiert dann zu dem Element mit der ID foo
.
Wenn Du bereits auf b.php
bist und dort auf einen Link nach b.php#foo
klickst, dann merkt der Browser das. Er redet dann gar nicht erst mit dem Server, sondern springt direkt zum identifizierten Element.
Hoffe das hilft - wenn nicht: was konkret geschieht nicht so, wie Du es gerne hättest?
Rolf
zumindest ist das die Erwartung an eine korrekte Ausführung des PHP-Scripts... ↩︎
Hallo,
zumindest ist das die Erwartung an eine korrekte Ausführung des PHP-Scripts...
In diesem Fall! PHP könnte auch was völlig anderes zurückliefern sollen…
Gruß
Kalk
Hallo Tabellenkalk,
du hast natürlich Recht. Aber als ich das alles stehen hatte, bekam ICH schon vom Lesen Kopfschmerzen, und habe etliche Seitenzweige wieder herausgeschnitten.
Rolf
Aaaaaaaah, jetzt kapiert 😀 Und dabei noch vertippt... Dann kann natürlich nicht das gewünschte Ergebnis rauskommen. Danke euch 😀