Guten Tag, ich versuche, unter Firefox die Unterseite einer Website gezielt zu verlinken. Ich möchte an einem Beispiel klarmachen, worin das Problem liegt: Man begebe sich auf diese Seite https://www.offiziellecharts.de und trage in das "Suchen"-Feld "Barkley" mit abschließendem "Return" ein. Tatsächlich bekommt man dann die gewünschten vier Suchergebnisse. Eigentlich würde ich erwarten, dass jetzt in der Adressleiste das steht, was zu diesem Suchergebnis führt. Aber das ist nicht der Fall. Dann da steht: https://www.offiziellecharts.de/suche Aber wenn man das von Hand in die Adressleiste einträgt, kommen nicht die Suchergebnisse nach "Barkley". Wie muss der Link lauten, damit man zu diesen Suchergebnissen kommt und wie ermittelt man diesen Link? Dass der Link in der Adressleiste nicht das wiedergibt, was die Seite anzeigt, findet man des öfteren. Wie kommt man dann allgemein zu der funktionierenden Adresse zu einer Unterseite?
Ungar schrieb: > Wie kommt man dann allgemein zu der > funktionierenden Adresse zu einer Unterseite? Auf die gewünschte Art überhaupt nicht. Die Information steckt im Handler des Browser-Tabs. Bei einem Refresh des Tabs wird der Browser dir mitteilen, dass er die Information erneut senden muss, und so erhältst du erneut den gesuchten Inhalt. Ein neu geöffnetes Tab hat diese Information jedoch nicht.
:
Bearbeitet durch User
(prx) A. K. schrieb: > Auf die gewünschte Art überhaupt nicht. Das stimmt leider. Es gibt min. zwei Arten,wie der Browser mit dem Server kommunizieren kann: GET und POST. Bei GET wird der "Suchbefehl" un die URL geschrieben, bei POST nicht. Und direkt verlinken kannst du eben nur die URL mit den GET requests.
Die Suche Zeile übergibt die Information an den Webserver per POST request. Ein normaler linkt übertragt per GET request. https://wiki.selfhtml.org/wiki/HTTP/Anfragemethoden Hier die Lösung https://stackoverflow.com/questions/8169027/how-can-i-submit-a-post-form-using-the-a-href-tag Paramter URL: www.offiziellecharts.de/suche Method: POST Data: artist_search: Barkley do_search: do <form action="//www.offiziellecharts.de/suche" method="post"> <input type="hidden" name="artist_search" value="Barkley" /> <input type="hidden" name="do_search" value="do" /> <button type="submit" class="btn-link">Go</button> </form>
Ungar schrieb: > Aber wenn man das von Hand in die Adressleiste einträgt, kommen nicht > die Suchergebnisse nach "Barkley". Wie muss der Link lauten, damit man > zu diesen Suchergebnissen kommt und wie ermittelt man diesen Link? > > Dass der Link in der Adressleiste nicht das wiedergibt, was die Seite > anzeigt, findet man des öfteren. Wie kommt man dann allgemein zu der > funktionierenden Adresse zu einer Unterseite? Den Suchstring siehst Du in diesem Fall nicht in der Adressleiste, weil dieser Parameter in diesem Fall nicht als HTTP GET Parameter (=direkt als Teil der URL) übertragen wird, sondern per HTTP POST. Allerdings hast Du in diesem Fall Glück, dem Webserver ist es in diesem Fall hier egal, ob der Parameter per GET oder POST übergeben wird, weshalb es auch mit folgender URL funktionieren würde: https://www.offiziellecharts.de/suche?do_search=do&artist_search=Barkley Aber das funktioniert halt nur manchmal, einen wirklich allgemeingültige Lösungsweg kann man daher eigentlich nicht angeben.
(prx) A. K. schrieb: > Ungar schrieb: >> Wie kommt man dann allgemein zu der >> funktionierenden Adresse zu einer Unterseite? > > Auf die gewünschte Art überhaupt nicht. Die Information steckt im > Handler des Browser-Tabs. Bei einem Refresh des Tabs wird der Browser > dir mitteilen, dass er die Information erneut senden muss, und so > erhältst du erneut den gesuchten Inhalt. Bei meinem Firefox kann man durch das Betätigen von F5 oder Strg-F5 diese Mitteilung des erneuten Sendens provozieren. Ich nehme an, dass es das ist, was Du Refresh nennst. Wenn der Browser es schafft, die Seite durch erneutes Senden herzustellen, müsste es doch einen Weg geben, diese Prozedur des erneuten Sendens abzuspeichern und per Aufruf durchführen zu lassen. Angenommen, ich wollte Euch, also den anderen Forenteilnehmern diese Webseite mitteilen, für die ich keinen Link senden kann. Könnte ich statt eines Links diese abgespeicherte Prozedur hier veröffentlichen, so dass Ihr durch Draufklicken zu dem Ergebnis kommt? Wenn nein, warum ist noch niemand dadrauf gekommen, dieses IMHO sehr sinnvolle Feature in den Browsern bereit zu stellen? Wie schafft es der Browser, diese Seite durch erneutes Senden zur Anzeige zu bringen? Wird dann im Falle meines Anfangs-Beispiels das "Suchen"-Feld auf der Charts-Website mit dem Begriff "Barkley" sozusagen ausgefüllt?
Ungar schrieb: > Wenn der Browser es schafft, die Seite > durch erneutes Senden herzustellen, müsste es doch einen Weg geben, > diese Prozedur des erneuten Sendens abzuspeichern und per Aufruf > durchführen zu lassen. Kommt drauf an. Der Betreiber der Seite kann z.B. die Bearbeitung von Anfragen davon abhängig machen, ob auch ein gültiges Session-Token mitge"post"et wird. Das geht zwar theoretisch auch bei "get", ist da aber eher unüblich (zumindest als Restriktion für die Auslieferung der Seite, die gegenteilige Anwendung solcher Token als Informationslieferant hingegen wird durchaus sehr gern mitgenommen). Grundsätzlich verfolgt i.d.R. der Betreiber der Seite irgendeine Strategie. Schon die Entscheidung, ob "post" oder "get" verwendet wird, ist typisch ein Ausdruck dieser Strategie. Sprich: wenn er "post" verwendet, wünscht er keine Deep-Links in seinen Seitenbestand, sondern will typischerweise, dass jeder User das ganze Elend der Werbung in den höheren Seiten der Hierarchie mitnimmt, am besten immer und immer wieder... > warum ist noch niemand dadrauf gekommen, dieses IMHO > sehr sinnvolle Feature in den Browsern bereit zu stellen? Weil Browser eigentlich nicht für Nutzer geschrieben werden, sondern für die Werbewirtschaft. Die Nutzer sind nur ein (aus Sicht der Browserhersteller) leider unumgängliche Anhängsel. > Wie schafft es der Browser, diese Seite durch erneutes Senden zur > Anzeige zu bringen? Na, indem er halt einen Post-Request sendet. Er kann das, weil er halt alle Informationen der aktuellen Session hat. Schließt du den Tab oder startest du den Browser neu, kann er das nicht mehr.
Ungar schrieb: > Wenn nein, warum ist noch niemand dadrauf gekommen, dieses IMHO > sehr sinnvolle Feature in den Browsern bereit zu stellen? Es gab eine Zeit, in der man alles machte, was möglich ist. Bis man dann merkte, dass nicht alles gut ist, was möglich ist. Sicherheitsaspekte spielen heute eine wesentliche Rolle. Dazu gehört, den Inhalt ausgefüllter Formulare einer Webseite strikt im Kontext der offenen Seite halten zu können. Die Seiten von Banken und andere kritischen Anbietern empfehlen gerne, nach Abmeldung mindestens das Tab zu schliessen, besser noch den ganzen Browser. Das tun sie nicht nicht ohne Grund. c-hater schrieb: > Weil Browser eigentlich nicht für Nutzer geschrieben werden, sondern für > die Werbewirtschaft. Die treibende Kraft hinter der Entwicklung von Browsern in den letzten Jahren ist der Werberiese Google, über die Chrome Engine, weshalb das nicht völlig von der Hand zu weisen ist. Aber "Janus" Google berücksichtigt dabei andererseits auch Sicherheitsaspekte.
:
Bearbeitet durch User
https://www.offiziellecharts.de/titel-details-424448 https://www.offiziellecharts.de/titel-details-204524 https://www.offiziellecharts.de/titel-details-204525 https://www.offiziellecharts.de/titel-details-195986
Man kann auch auf ein label springen, und das im Link mitgeben. Das geschieht mit einem # der link, hier lokal oben auf der seite <A HREF = #mylabel > Mylabel < / A > das label im content <A target=_out name = mylabel >mylabel< / A > mit den quotes anpassen.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.